Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jar文件中的javax/mail/MessaginException,但在eclipse中使用相同的代码_Java_Eclipse_Jar_Executable Jar - Fatal编程技术网

jar文件中的javax/mail/MessaginException,但在eclipse中使用相同的代码

jar文件中的javax/mail/MessaginException,但在eclipse中使用相同的代码,java,eclipse,jar,executable-jar,Java,Eclipse,Jar,Executable Jar,我正在创建一个示例项目来发送邮件。当我尝试使用eclipse发送邮件时,它工作正常。但是,当我为代码创建一个.jar文件时,它就创建了jar文件,但是当我使用“java-jartest.jar”运行代码时,它显示了我 "**Exception in thread "Thread-1" java.lang.ClassFormatError: Absent Code attribute in method that is not native or abstract in class file ja

我正在创建一个示例项目来发送邮件。当我尝试使用eclipse发送邮件时,它工作正常。但是,当我为代码创建一个.jar文件时,它就创建了jar文件,但是当我使用“java-jartest.jar”运行代码时,它显示了我

"**Exception in thread "Thread-1" java.lang.ClassFormatError: Absent Code attribute in method that is not native or abstract in class file javax/mail/MessagingException**"

Complete Error Description:
** 
Exception in thread "Thread-1" 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:787)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:447)
    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 java.lang.ClassLoader.loadClass(ClassLoader.java:356)
    at org.yourcabs.MailThread.run(MailThread.java:27)
我的jar文件结构如下 /META-INF /org /javaee-api-6.0.jar /mail.jar

我试过谷歌,但它对我不起作用。此外,我还尝试了清理和重建项目,但也没有成功

有人能帮我吗。我错过了什么吗

清单版本:1.0 Rsrc类路径:./javaee-api-6.0.jar mysql-connector-java-5.0.8-bin.jar mail.jar 类路径:。 Rsrc主类:org.yourcabs.SMSMessenger
主类:org.eclipse.jdt.internal.jarinjarloader.jarsrLoader

问题可能是由不同版本的mail.jar引起的。确保您使用的是来自eclipse和命令行的相同jar。Eclipse可以使用内置的mail.jar或实例服务器的mail.jar。

我想您的javax/mail/MessaginException有几个版本。
在mail.jar和javaee-api-6.0.jar中都可以找到这个类。

您似乎是在Linux上。请替换“;”在带有“:”的jar文件之间,如果是这种情况


什么是Rsrc类路径?我认为清单应该是这样的:

清单版本:1.0

类路径:./javaee-api-6.0.jar mysql-connector-java-5.0.8-bin.jar mail.jar

主类:org.eclipse.jdt.internal.jarinjarloader.jarrscloader


您需要根据需要调整类路径。

请参阅此帖子以获得帮助。根据上面帖子的回答,当您试图从外部运行java mail API jar时,您需要在类路径中单独设置它。@HarishKumar我也尝试过这样做,但对我来说也不起作用。有什么具体的方法可以做到这一点吗。我试图在清单文件中进行编辑。您可以尝试从命令行使用以下命令吗:java-cp。您好,您使用的是windows系统。请发布您的文件清单。我使用的是相同版本的mail.jar。当我从eclipse导出并制作jar时,它与jar文件捆绑在一起。什么是Rsrc类路径?我认为清单应该是这样的:清单版本:1.0类路径:./javaee-api-6.0.jar mysql-connector-java-5.0.8-bin.jar mail.jar主类:org.eclipse.jdt.internal.jarinjarloader。JarRsrcLoader@user2260383这有帮助吗?您前面提到的解决方案有帮助。我试图修改清单文件,但没有成功。在清单中给类路径设置为:Class Path:/META-INF/org/javaee-api-6.0.jar/mail.jar,然后使用java-jar test.jar。看看它是否解决了你的问题。