@IDEA导出jar(引用外部jar包)
一、步骤 步骤一右键点击项目>>点击Open Module Settings
步骤二点击Artifacts>>点击+
步骤三点击JAR>>点击From modules withdependencies
点击图标📂>>选择MainClass(解释:使用Java -jar xxx.jar命令时,所运行的有主函数的类,即MainClass。当然jar包也可以不能运行,只是充当打包类。)
步骤五点击画红圈的📂,以更改配置清单的生成路径。也可以不更改,需要了解配置清单到了那里;后面若引用外部jar包,需要更改该文件内容。
步骤六画圈的三个jar包,由于自己不需要前面两个包,而最后一个jar包是自己所需要的外部jar包。但是这个系统默认生成的是Extracted类型的jar包(这里我也不懂这个类型的包怎么用),所以也需要删除,待会自己重新加入。
步骤七这里可以更改,要生成jar包的路径及包名。(注意:这里我生成的jar包名是HLO,下面会提到)
步骤八经步骤七删除后,首先点击一下所生成的包名,以生成到jar包的根目录下。现在开始添加。点击+,然后选择ModuleSources,将其添加到jar包的根路径下。
步骤九分析自己所要添加的外部jar包和MainClass中所用的的文件数据或其他类(不包含在项目结构中src目录下面的类文件)。这里我需要用到input_data文件下的cec20_input_data文件夹及下面的数据文件、cec20Library.dll文件和library文件夹下面的外部jar包——jna-5.4.0.jar。
需要注意的是:自己jar包的结构要和IDEA整个工程下的目录结构一样。在目录结构中左边的src与右边的HLO’source’是同等的。
经步骤九分析后,所生成jar包的同一路径下,新建input_data文件夹和子文件夹cec20_input_data以及所需要的cec20Library.dll文件。生成的jar包就下该目录下,所以在这里有jar所需要引用的外部jar包及数据或类。该步骤可以放到最后。
步骤十一点击OK即可
点击Build>>点击Build Artifacts
进行步骤十二后,生成下图所示,点击Build即可。等待右下方进度条走完。
步骤十四最后生成的文件效果
修改META-INF文件下的配置清单文件,以便自己生成的jar包能找到外部jar包。以记事本方式打开,添加Class-Path: ./library/jna-5.4.0.jar
注意:
Class-Path:与./library/jna-5.4.0.jar之间有个空格
Class-Path: ./library/jna-5.4.0.jar后面空两行
在上述生成jar的路径下,地址栏中输入cmd,回车。
步骤二在dos窗口下,输入命令:java -jar HLO.jar
即可运行。
身为初学者小白,上述方法只是能得到效果,期间也有些收获,但还有些不足及不懂地方。
- jar包可以使用压缩软件打开。
- 对于外部的jar包能不能放到自己jar包里面,自己也尚不清楚。
- 使用java -jar HLO.jar命令时,只能使用相对路径。
- 跟自己新建的jar包同一路径的input_data文件夹,是否也能加入jar包中,同时修改配置清单,使得可以访问到。
- 只是用jar包的运行程序功能的话,ModuleSources(相对于IDEA中src文件)可不加入,因为里面放的是程序的.java文件,只需要编译好的.class文件(导入’HLO’ compile output);但如果用jar的的打包功能,则需要.java文件。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)