【问题标题】:Netbeans: how to add Java EE container to java projectNetbeans:如何将 Java EE 容器添加到 java 项目
【发布时间】:2012-08-28 16:12:51
【问题描述】:

我正在尝试在 Netbeans 中发送电子邮件 SSL 电子邮件,我已将 javaee.jarmail.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)

根据我的研究,我发现我将不得不在 Java EE 容器中运行我的代码,但我没有这方面的经验。我在网上查了一下,但收效甚微,只发现了 Java EE 容器。

那么如何将代码添加到 Java EE 容器中,然后在项目中使用它呢?

【问题讨论】:

标签: java jakarta-ee netbeans containers


【解决方案1】:

如何将 Java EE 容器添加到 java 项目中

不,请不要那样做。您的唯一意图似乎是运行 Java SE(桌面)应用程序,而不是 Java EE(Web)应用程序。您不应将 Java SE 应用程序作为 Java EE 应用程序运行。

您应该为您面临的具体问题找到正确的解决方案,而不是询问如何实现错误的解决方案。

至于你的具体问题,

线程“main”java.lang.ClassFormatError 中的异常:类文件 javax/mail/MessagingException 中非本机或抽象方法中的缺失代码属性

这基本上意味着当前运行时类路径中提到的类(javax/mail/MessagingException包含类和方法签名,但根本没有具体代码。换句话说,当前运行时类路径中提到的类是empty。事实上,您所拥有的 javaee.jar(显然您下载它是为了解决编译/导入问题的错误尝试)基本上包含抽象的 Java EE API 没有任何具体的实现代码。 p>

这是不对的。完全删除javaee.jar 文件。只需从JavaMail website 下载的mail.jar 就足够了。你的具体问题是因为javaee.jar 文件,包含javax.mail API(但没有实现),在类加载中优先于包含具体mail.jar 实现的mail.jar 文件. javaee.jar 文件只能用作 Java EE 项目中的编译时依赖项,而不应用作 Java SE 项目的运行时依赖项。

【讨论】:

  • 非常感谢,尤其是您提供的清晰且消息灵通的答案。多亏了你,我现在明白了很多 :) 干杯 :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-10
  • 1970-01-01
  • 1970-01-01
  • 2010-09-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多