Eclipse打包Java工程并导出jar包

3,642 views

当我们编写好程序后,通常需要导出并打包成jar格式的文件,以便于在其他地方执行,本篇博客讲述如何将java工程打包成jar格式。

假设我们有一个工程是CmdTest,其包含的结构文件如下。我们有一个主类,其包名为main。我们在下面有个java程序:

package main;

import org.kohsuke.args4j.CmdLineException;
import org.kohsuke.args4j.CmdLineParser;

import option.CmdOpt;

public class HelloWorld {

	public static void main(String[] args) {

		CmdOpt cmo = new CmdOpt();

		CmdLineParser argsParser = new CmdLineParser(cmo);

    if (args.length == 0){
        showHelp(argsParser);
        return;
    }
    try {
			argsParser.parseArgument(args);
		} catch (CmdLineException e) {
			e.printStackTrace();
		}
		System.out.println(cmo.name);

	}

	public static void showHelp(CmdLineParser parser){
		System.out.println("LDA [options...] [arguments...]");
		parser.printUsage(System.out);
	}

}

有一个外部依赖包是lib文件夹下的 args4j-2.0.6.jar。该工程打包成jar格式文件步骤如下:

第一步,创建MANIFEST.MF文件:右键项目名称,依次点击**“New”--“File”,然后在“File name”中输入MANIFEST.MF**,(注意:每个可执行的jar包都包含Manifest信息,这里描述了一些关于执行的依赖的包之类的内容,之后选择使用已存在的Manifest文件,manifest写法可参见http://www.cnblogs.com/lanxuezaipiao/p/3291641.html。个人感觉这里的main-class不需要很精确,因为后面运行的时候我们通常都会写明我要的类是哪个,只要有主方法就可以运行)并填写如下信息:

Manifest-Version: 1.0
Main-Class: HelloWorld
Class-Path: /lib/args4j-2.0.6.jar

//最后一行要保留,也就是说在最后一行要加回车

第二步,右键项目名称,依次点击**“Export”--“Java”--“JAR file”--“Next”; 第三步,勾选Export generated class files and resources**; 第四步,在 **“Select the export destination:”**下面点击 “Browse...” 选择需要保存的目录及名称,这里我们选择d盘的根目录下。

第五步:点击**“Next”--“Next”,选择“Use existing mainfest from worspace”--“Browse...”**,选择我们第一步新建的文件即可,然后点击“Finish”;

第六步:将工程里面的lib文件夹复制到D盘根目录下(jar文件依赖的外部包不能打包在jar文件中,所以要拷贝出来以便于访问,一般放在jar所在目录即可,这里就是在D盘根目录下);

第七步:使用cmd进入D盘后运行jar包即可,运行的格式是

java -classpath 包名 类名 -参数1 参数值。

下列案例中的-name表示该类有个输入参数为-name。

java -classpath HI.jar main.HelloWorld -name Hello

如图所示,这里如果有其他主方法,把HelloWorld换掉即可,注意要写完整的包名:

DataLearner WeChat

Follow DataLearner WeChat for the latest AI updates

DataLearner 官方微信二维码