2009-10-08 61 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/

希望這有助於!