我收藏的文章
Eclipse导出Jar包,修改Manifest.MF文件的Calss-Path
vbe文件代码
Set shell = Wscript.CreateObject("WScript.Shell")
a = shell.run ("e:\\111\\startjar.bat",0)
bat文件代码
@echo off
:: set "JAVA_HOME=D:\Programs\Java\jdk1.8.0_241"
set "JRE_HOME=%cd%"
call %JRE_HOME%\jre\bin\java -jar meta.jar
pause
解决办法1:
将第三方jar包放到JRE的扩展类文件夹中(%JAVA_HOME%/jre/lib/ext),
解决方法2:
修改jar包的MANIFEST.MF文件
详细如下:
通过不断地试验,终于成功了!
1、写好自己的MANIFEST.MF文件,放到项目中
2、新建文件夹test位于D盘;
3、将用到的所有第三方jar包放在文件夹lib下,再将lib放在test下;
目录结构
4、导出的java工程jar包a.jar,指定自己的MF文件,导出test下;
编写MANIFEST.MF文件时的注意事项:
说明:一般编写MANIFEST.MF文件只需要用到Manifest-Version(MF文件版本号)、Main-Class(包含main方法的类)、Class-Path(执行这个jar包时的ClassPath,第三方依赖)
比如以下的例子:
Manifest-Version: 1.0 Main-Class: test.Main Class-Path: ./ ./lib/commons-collections-3.2.jar ./lib/commons-dbcp-1.2.2.jar ./lib/commons-lang-2.3.jar ./lib/commons-logging-1.1.jar
下图是我写的MF文件:
Manifest-Version: 1.0
Sealed: true
Main-Class: com.ftm.main.MetaMain
Class-Path: ./lib/dom4j-1.6.1.jar ./lib/commons-io-2.9.0.jar ./lib/commons-lang3-3.12.0.jar ./lib/fastjson-1.2.6.jar ./lib/jeasypoi-annotation-2.1.4.jar ./lib/jeasypoi-base-2.1.4.jar ./lib/log4j-api-2.14.1.jar ./lib/poi-3.9.jar ./lib/poi-ooxml-3.9.jar ./lib/poi-ooxml-schemas-3.9.jar ./lib/slf4j-api-1.6.6.jar ./lib/sqljdbc4-4.0.jar ./lib/xmlbeans-2.6.0.jar
导出Jar包步骤
1、右击项目,选择“Export”
2、选择“JAR file” ,点击“Next”
3、选择好需要导出项目(已默认勾选),和文件(右侧)
并选择导出路径
4、点击“Next”
5、勾选“Use existing manifest from workspace”,选择写好的MANIFEST.MF文件
点击“Finish”生成
如果不使用自己的MANIFEST.MF,则选择默认系统生成的MANIFEST.MF文件,
如下图勾选