2
我試圖在NetBeans 7.1下單元測試一個簡單的EJBModule項目,但我收到一個警告和一個初始化錯誤。我正在使用GlassFish 3.1.1版。我希望有人熟悉這種類型的問題,並可以就如何解決問題給出一些建議。EJB模塊測試用例初始化錯誤
在項目中的一個,我們有這樣的遠程接口:
@Remote
public interface CredentialEJBRemote {
//Stuff
}
然後在第二個項目我們正在實施這樣的界面:
@Stateless
@LocalBean
public class CredentialEJB implements CredentialEJBRemote {
//@Override stuff
}
終於在單元測試我這樣做:
private static EJBContainer ec = EJBContainer.createEJBContainer();
private static Context ctx = ec.getContext();
CredentialEJBRemote instance = (CredentialEJBRemote)ctx.lookup("java:global/classes/CredentialEJB");
//Do stuff with instance
當我運行單元測試時,我收到警告和錯誤。
的警告是:
WARNING: multiple versions of ant detected in path for junit
jar:file:/C:/Program%20Files/NetBeans%207.1/java/ant/lib/ant.jar!/org/apache/tools/ant/Project.class
and jar:file:/C:/Program%20Files/glassfish3.1.1/glassfish/modules/ant.jar!/org/apache/tools/ant/Project.class
跟該錯誤的測試案例:
Testcase: initializationError(trefliq.persistence.CredentialEJBTest): Caused an ERROR
Absent Code attribute in method that is not native or abstract in class file javax/ejb/embeddable/EJBContainer
java.lang.ClassFormatError: Absent Code attribute in method that is not native or abstract in class file javax/ejb/embeddable/EJBContainer
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(
at java.lang.ClassLoader.defineClass(ClassLoader.java:791) ClassLoader.java:791)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
at java.lang.Class.getDeclaredFields0(Native Method)
at java.lang.Class.privateGetDeclaredFields(Class.java:2308)
at java.lang.Class.getDeclaredFields(Class.java:1760)
at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
任何想法可能會導致什麼呢?
非常感謝。
更新我的問題以提供更多信息。 – CodeNameBrandon 2012-02-20 15:06:11