问题如题,我的jar文件里写了manifest清单的,也指定了主类,结构如下
textEditor.jar
|_________textEditor
| |________包括主类在内的全部类文件
|_________META-INF |________images//装有jpg图片的文件夹
|
|________MANIFEST.MF
17 个解决方案
象jBuilder,先将指定的应用工程文件打成JAR后,还需Archive Build; 这样才部署完成,可生产.exe 点击运行的
我开始是用eclipse导出jar文件,以前写的程序都是这么做的,都能双击运行,这次不知怎么就不行了,这次的程序的唯一的不同就是我在我的包里面(textEditor)导入了一个images文件夹,里面是图片,但是我觉得这个应该不是问题啊。后来我用jar 来生成jar文件还是不行,没有什么异常,就是不能启动程序
使用java -jar xxx.jar运行
可以看到异常信息
异常信息位 Invalid or corrupt jarfile 相关路径
怎么回事?
一个可执行的 JAR 必须通过 menifest 文件的头引用它所需要的所有其他从属 JAR。如果使用了 -jar 选项,那么环境变量 CLASSPATH 和在命令行中指定的所有类路径都被 JVM 所忽略。
mark,你的jar里引用了其他资源文件吧,必须在manifest里指明,Class-Path: (以空格作为分隔符)
我在manifest里面指明了主类的,在包里(textEditor)有一个装有图片的文件夹。
manifest里还需指明class_path吗?具体怎么写,谢谢:-)
To add classpath to your manifest, here is an example:
Class-Path: commons-beanutils.jar, commons-collections.jar, commons-dbcp.jar, commons-digester.jar, commons-logging.jar, commons-pool.jar, commons-validator.jar, jakarta-oro.jar
But you should be able to just add your jar file to you classpath and then run:
java <your main class with package name>
这是我的manifest
Manifest-Version: 1.0
Class-Path: jdom.jar activation.jar mail.jar commons-httpclient-2.0.ja
r log4j-1.2.8.jar mibble-2.2.jar snmp_v3.jar tablelayout.jar mysql-co
nnector-java-3.0.15-ga-bin.jar j2ee.jar jmxri.jar jmxtools.jar sms.ja
r ..\classes\
Main-Class: com.ocamar.onmp.NMPServer