2009-10-08 59 views
0

我已经创建了一个NetBeans 6.7 EnterpriseApplication项目与ejb和war模块与测试无状态会话ejb与简单的sayHello()方法。ebb与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测试时都不会得到一堆Exceptions。

有没有人遇到过这个问题?你能帮我解决吗?

谢谢。

回答

0

呃..我能够摆脱这个错误信息..但我这样做的方法更多的是一个讨厌的黑客..我刚从玻璃鱼库文件夹中删除了webservices-tools.jar文件,解决了这个问题。

1

OpenEJB 3.1.2修复了该问题,现在可以成功忽略标准类加载器实际上不可加载的类文件 - 即1.0.com.sun.codemodel.ClassWriter不是有效的类名称。看来Sun为了自己的内部目的而将一些类放入“1.0”目录。

3.1.2刚刚截了昨天,下载页面尚未更新。但在正式发布,请访问:

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

希望这有助于!