`
stride
  • 浏览: 59068 次
  • 性别: Icon_minigender_1
  • 来自: 长春
社区版块
存档分类
最新评论

用myeclipse打jar包,使其包含依赖jar包的指向

阅读更多

第一步:建目录,将依赖JAR包都拷贝到该目录下,比如我的这个测试工程,依赖两个JAR包:classes12.jar和log4j-1.2.14.jar

 

 

第二步:写程序,先写也没问题,我只写了一个类,带main函数,包名是test:test.Main

 

Main.java

package test;

import org.apache.log4j.Logger;

public class Main {
	private Logger log = Logger.getLogger("R");
	
	public Main(){
		log.debug("********************");
	}
	public static void main(String[] args) {
		Main m = new Main();
	}
}
 以上示例程序中并没有使用classes12.jar,但依赖classes12.jar只是为了演示多个jar包的依赖添加

 

第三步:

 

按图示开始打jar包:

 

之后生成的MANIFEST.MF文件只有两行:

Manifest-Version: 1.0

Main-Class: test.Main

 

 

这时需要手动修改这个文件,改为:

Manifest-Version: 1.0

Class-Path: classes12.jar log4j-1.2.14.jar

Main-Class: test.Main

 

注意加了一行,在Class-Path这一行中,写入了依赖JAR包的名称,用空格分隔,如果有子目录的话就写相对目录,相对是相对于批处理文件的相对路径

 

然后重新打包导出JAR,见图:

 

 

以后再打这个jar包的时候就不需要再修改MANIFEST.MF了,但如果又添加了依赖jar包,只需要在这个文件内手动把依赖jar包名写进去保存就可以了,执行的jar包名不用写

 

第四步:写批处理

 

文件名:run.bat

内容:

java -jar TestJar.jar

 

最终目录结构:

 

第五步:测试

 

运行cmd,依次执行:

d:

cd temp/TestJar

run

 

接下来就不用说了


5
0
分享到:
评论
3 楼 307549084 2015-09-29  
一直纠结在lib问题上之前以为lib必须放置在jar包内看了博主的博客之后恍然大悟 ~v~
2 楼 stride 2012-01-16  
suntao19830709 写道
可以直接在bat里加引用jar包。比如你上面可以:
SET CLASSPATH=%CLASSPATH%;classes12.jar;log4j-1.2.14.jar


是的,可以,但依赖文件很多的话,这种方式就显示出优点了,批处理可以写得很有简单
1 楼 suntao19830709 2012-01-16  
可以直接在bat里加引用jar包。比如你上面可以:
SET CLASSPATH=%CLASSPATH%;classes12.jar;log4j-1.2.14.jar

相关推荐

Global site tag (gtag.js) - Google Analytics