数据学习
登录
注册
原创博客
期刊会议
学术世界
期刊出版社
领域期刊
SCI/SCIE/SSCI/EI简介
期刊列表
会议列表
所有期刊分区
学术期刊信息检索
JCR期刊分区查询
CiteScore期刊分区查询
中科院期刊分区查询
领域期刊分区
管理 - UTD24期刊列表
管理 - AJG(ABS)期刊星级查询
管理 - FMS推荐期刊列表
计算机 - CCF推荐期刊会议列表
高校期刊分区
南大核心(CSSCI)
合工大小核心
合工大大核心
AI资源仓库
AI领域与任务
AI研究机构
AI学术期刊
AI论文快讯
AI数据集
AI开源工具
AI模型
AI模型概览图
AI模型月报
AI基础大模型
AI预训练大模型
数据推荐
网址导航
我的网址导航
程序员必备网站
Eclipse打包Java工程并导出jar包
标签:
#程序#
时间:2016-12-12 20:48:12
作者:小木
当我们编写好程序后,通常需要导出并打包成jar格式的文件,以便于在其他地方执行,本篇博客讲述如何将java工程打包成jar格式。 假设我们有一个工程是CmdTest,其包含的结构文件如下。我们有一个主类,其包名为main。我们在下面有个java程序: ```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不需要很精确,因为后面运行的时候我们通常都会写明我要的类是哪个,只要有主方法就可以运行)并填写如下信息: ```java 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 java -classpath HI.jar main.HelloWorld -name Hello ``` 如图所示,这里如果有其他主方法,把HelloWorld换掉即可,注意要写完整的包名: 
欢迎大家关注DataLearner官方微信,接受最新的AI技术推送
相关博客
最热博客