我正在尝试运行一些应用程序(包括我自己的应用程序和教程应用程序)来帮助我理解JMS的基础知识。应用程序中的代码应该是正确的(对于至少一些代码)。我添加的库包括:Java EE 6 API Library - javaee-api-6.0.jar
,jndi-properties.jar
,appserv-rt.jar
,javaee.jar
和JDK 1.7(Default)
。
但是我尝试启动的每个应用程序都会收到以下错误消息:
run:
java.lang.ClassFormatError: Absent Code attribute in method that is not native or abstract in class file javax/jms/JMSException
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(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.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Class.java:2442)
at java.lang.Class.getMethod0(Class.java:2685)
at java.lang.Class.getMethod(Class.java:1620)
at sun.launcher.LauncherHelper.getMainMethod(LauncherHelper.java:488)
at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:480)
Exception in thread "main" Java Result: 1
BUILD SUCCESSFUL (total time: 1 second)
请注意它确实说BUILD SUCCESSFUL
,但它是一个可运行的表单类(有2个文本字段和一个按钮),我看不到我的表单。
我正在使用GlassFish Server 3.1.2在NetBeans 7.1.1中尝试我的应用程序1.我在管理控制台中配置了已使用的连接工厂和目标资源。
正如其他相关问题所示,我尝试在类路径中上下移动javaee.jar
,甚至删除它,没有结果。 Java EE 6 API Library
也是如此,但我的项目需要那个jar。
答案 0 :(得分:1)
将javaee-api-6.0.jar
更改为javaee-api-5.0.5.jar
修正了它。