日期:2014-05-18  浏览次数:20665 次

Linux中运行.jar文件的问题
打包好的jar文件双击运行时报: Failed to load Main-Class manifest attribute from ......,这是由于未设置程序运行的入口程序导致的,可以将jar文件用WinRAR打开,展开META-INF文件夹,查看MANIFEST.MF文件,可以发现Main-Class未设置,这就是导致异常的原因所在,设置格式:Main-Class: norepeat.NoRepeatApp (main程序,程序入口)

大家帮帮忙啊,很急!

------解决方案--------------------
你上面的说明不已经解决了吗?
------解决方案--------------------
一般程序我不用jar文件,而直接用class文件运行,如:
d:\jdk\bin\java -classpath ./;ojdbc14.jar;b.jar com.abc.MainClass,(linux下classpath用冒号分割)
-classpath 可以指定jar包或者classpath目录,最后是主类。输入命令的目录下应包含这些jar包。

用jar的话,不会写MANIFEST.MF可以用eclipse等工具生成,下面给个例子:
Manifest-Version: 1.0
Class-Path: lib/jta.jar lib/thirdlib.jar lib/ojdbc14.jar lib/c3p0-0.9.1.2.jar lib/spring-1.2.6.jar lib/log4j-1.2.8.jar lib/hibernate3.jar lib/commons-collections-2.1.1.jar lib/commons-logging-1.0.4.jar lib/dom4j-1.6.jar lib/ehcache-1.1.jar lib/cglib-2.1.jar lib/asm.jar lib/antlr-2.7.5H3.jar lib/xercesImpl.jar lib/xmlParserAPIs.jar
Main-Class: com.abc.SendMain

class中的lib目录位于jar文件相同目录
有了这个文件后打包时记得打到jar里,也可以用eclipse向导打包进去。