2009-10-08 2 views
0

Я создал netbeans 6.7 Проект EnterpriseApplication с модулями ejb и war с тестовым сеансом без сохранения состояния с помощью простого метода sayHello().Проблемы с ejb-тестированием с netbeans и openejb

Я также добавил библиотеку openEjb для модуляции теста ejb. Все работает нормально, за исключением того, что я получаю следующее сообщение об ошибке:


Testsuite: com.myapp.test.NewEmptyJUnitTest 
Apache OpenEJB 3.1.1 build: 20090530-06:18 
http://openejb.apache.org/ 
INFO - openejb.home = C:\Users\me\Documents\NetBeansProjects\TestEnterpriseApp\TestEnterpriseApp-ejb 
INFO - openejb.base = C:\Users\me\Documents\NetBeansProjects\TestEnterpriseApp\TestEnterpriseApp-ejb 
INFO - Configuring Service(id=Default Security Service, type=SecurityService, provider-id=Default Security Service) 
INFO - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager) 
INFO - Found ClientModule in classpath: C:\Program Files\NetBeans 6.7.1\java2\ant\lib\ant.jar 
INFO - Found ClientModule in classpath: C:\Program Files\NetBeans 6.7.1\java2\ant\lib\ant-launcher.jar 
INFO - Found EjbModule in classpath: C:\Users\me\Documents\NetBeansProjects\TestEnterpriseApp\TestEnterpriseApp-ejb\build\jar 
INFO - Found ClientModule in classpath: C:\Users\me\Documents\NetBeansProjects\TestEnterpriseApp\lib\OpenEJB\xml-resolver-1.2.jar 
INFO - Found ClientModule in classpath: C:\Users\me\Documents\Downloads\glassfish\lib\webservices-tools.jar 
INFO - Beginning load: C:\Program Files\NetBeans 6.7.1\java2\ant\lib\ant.jar 
INFO - Beginning load: C:\Program Files\NetBeans 6.7.1\java2\ant\lib\ant-launcher.jar 
INFO - Beginning load: C:\Users\me\Documents\NetBeansProjects\TestEnterpriseApp\TestEnterpriseApp-ejb\build\jar 
INFO - Beginning load: C:\Users\me\Documents\NetBeansProjects\TestEnterpriseApp\lib\OpenEJB\xml-resolver-1.2.jar 
INFO - Beginning load: C:\Users\me\Documents\Downloads\glassfish\lib\webservices-tools.jar 
INFO - Configuring enterprise application: classpath.ear 
WARN - No application-client.xml found assuming annotations present: classpath.ear, module: ant.jar 
WARN - No application-client.xml found assuming annotations present: classpath.ear, module: ant-launcher.jar 
WARN - No application-client.xml found assuming annotations present: classpath.ear, module: xml-resolver-1.2.jar 
WARN - No application-client.xml found assuming annotations present: classpath.ear, module: webservices-tools.jar 
java.lang.Exception: Could not load 1/0/com/sun/codemodel/CodeWriter.class 
     at org.apache.xbean.finder.ClassFinder.readClassDef(ClassFinder.java:730) 
.... 

Оказывается, что я получаю GlassFish библиотека WebServices-tools.jar где-то как-то и я не могу выяснить, как избавиться от него, так что я не получайте кучу исключений всякий раз, когда я пытаюсь запустить любые тесты junit.

Неужели кто-нибудь сталкивался с этой проблемой раньше? Можете ли вы помочь мне решить это, пожалуйста?

Спасибо.

ответ

0

ну .. я смог избавиться от этого сообщения об ошибке .. но мой способ сделать это скорее неприятный взлом .. я просто удалил файл webservices-tools.jar из папки библиотеки Glassfish и что исправлена ​​проблема.

1

OpenEJB 3.1.2 исправил эту проблему и теперь может успешно игнорировать файлы классов, которые на самом деле не загружаются стандартным загрузчиком классов - i.e. 1.0.com.sun.codemodel.ClassWriter не является допустимым именем класса. Кажется, что Sun помещает некоторые классы в каталог «1.0» для собственных внутренних целей.

3.1.2 был только что отрезан вчера, страница загрузки еще не обновлена. Но официальный релиз доступен здесь:

http://www.apache.org/dist/openejb/3.1.2/

Надеется, что это помогает!

Смежные вопросы