Hip*_*ray 2 java containers netbeans java-ee
我试图在Netbeans中发送电子邮件SSL电子邮件,我已经添加了两个javaee.jar
和mail.jar
我的项目,但我收到以下错误
Exception in thread "main" java.lang.ClassFormatError: Absent Code attribute in method that is not native or abstract in class file javax/mail/MessagingException
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 GUI.CompilerForm.<init>(CompilerForm.java:43)
at Compiler.Main.main(Main.java:19)
Run Code Online (Sandbox Code Playgroud)
根据我的研究,我发现我将不得不在Java EE容器中运行我的代码,但我没有这方面的经验.我在网上查了一下,收效甚微,只发现了Java EE容器.
那么如何将代码添加到Java EE容器中,然后在项目中使用它?
如何将Java EE容器添加到java项目中
不,请不要那样做.您的唯一目的似乎是运行Java SE(桌面)应用程序,而不是Java EE(Web)应用程序.您不应将Java SE应用程序作为Java EE应用程序运行.
您应该为您面临的具体问题找到正确的解决方案,而不是询问如何实现错误的解决方案.
至于你的具体问题,
线程"main"中的异常java.lang.ClassFormatError:在类文件javax/mail/MessagingException中非本机或抽象的方法中的Absent Code属性
这基本上意味着javax/mail/MessagingException
当前运行时类路径中提到的类(the )仅包含类和方法签名,但根本没有具体代码.换句话说,当前运行时类路径中提到的类是空的.事实上,javaee.jar
你在那里(显然是你错误地尝试解决编译/导入问题)它基本上包含抽象的Java EE API 而没有任何具体的实现代码.
这个不对.完全删除该javaee.jar
文件.就在mail.jar
这,你可以从下载JavaMail的网站就足够了.因为你的具体问题引起的javaee.jar
文件,其中还包含了javax.mail
API(但没有实现),得到了在类装入优先于mail.jar
包含具体的文件javax.mail
落实.该javaee.jar
文件应仅用作Java EE项目中的编译时依赖项,而不是Java SE项目的运行时依赖项.
归档时间: |
|
查看次数: |
958 次 |
最近记录: |