http://ligdjn.iteye.com/blog/2183122
(-)最简单的情况
注:不依赖第三方jar包
代码:
- package com.hltech.demo;
- import java.io.File;
- public class JarExeTest1 {
- /**
- * 打印目录下面所有文件
- * @param args
- */
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- File file=new File("E:\\AppData\\workspace\\Implem_project\\lib");
- for(File f:file.listFiles()){
- System.out.println(" "+"lib/"+f.getName()+" ");
- }
- }
- }
1.1.利用Eclipse生产jar文件
保存路径:C:\Users\ligd\Desktop\JarExeTest1.jar
1.2.生成的jar文件目录结构
|-
|--\com\hltech\demoJarExeTest1.class
|--\META-INF\MANIFEST.MF
1.3.执行结果
(二)复杂的情况
注:依赖第三方jar包
2.1Eclipse生成jar文件
C:\Users\ligd\Desktop\implement_project.jar
2.2.解压文件,重新编辑MANIFEST.MF(导入依赖其它jar包)
Manifest.MF文件中指定类路径classpath, 特别注意Manifest.mf的格式。
内容如下:
Manifest-Version: 1.0Main-Class: com.hltech.demo.TranxMain
Class-Path: libs/com.ws.javaee.jaxrs.1.1_1.0.1.jar
libs/commons-codec-1.6.jar
libs/commons-logging-1.1.3.jar
libs/fluent-hc-4.3.5.jar
libs/httpclient-4.2.1.jar
libs/httpclient-4.3.5.jar
libs/httpclient-cache-4.3.5.jar
libs/httpcore-4.2.1.jar
libs/httpcore-4.3.2.jar
libs/httpclient-4.2.1.jar
libs/httpmime-4.3.5.jar
libs/JSON4J.jar
libs/org.apache.commons.logging-1.1.1.jar
2.3 cd 进入Project目录,然后根据jar命令生成jar包
C:\Users\ligd\Desktop\implement_project>jar cvfm implent_project.jar META-INF\MANIFEST.MF *
2.4 第二种打包的方法,把依赖的jar包,打进主jar包里,在使用java -jar命令执行时候,需要在jar的同级目录,新建一个lib目录把依赖的jar包放进去。
java -jar implent_project.jar