Netbeans的:如何在Java EE容器添加到Java项目(Netbeans: how to a

2019-07-31 05:42发布

我试图发送电子邮件上午SSL邮件在Netbeans和我已经加入这两个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容器中,然后在项目中使用呢?

Answer 1:

如何Java EE容器添加到Java项目

不,请不要那样做。 你的唯一目的似乎运行Java SE(台式机)的应用程序,而不是Java EE(网络)应用程序。 你不应该运行Java SE应用程序的Java EE应用程序。

你还是找你面对询问如何实现错误的解决方案,而不是具体问题解决方案。

至于你的具体问题,

异常在线程“主要” java.lang.ClassFormatError:在方法缺席代码属性,是不是在类文件的javax /邮件/ MessagingException本地或抽象

这基本上意味着所提到的类( javax/mail/MessagingException当前运行时类路径) 包含的类和方法签名,但没有具体的代码在所有。 换句话说,在当前的运行时类路径中提到的类是空的 。 事实上,在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项目的运行依赖。



文章来源: Netbeans: how to add Java EE container to java project