背景介绍

将程序打包,无论是为了代码复用,还是发布应用,都是必不可少的的技能,上次总结了一下python利用cxfreeze打包成exe,这次我来说java如何打包。

和python不同,java自带的jar命令功能很强大,我们并不需要第三方的软件就可以进行打包。

需要补充说明一下这里的打包指的是将一系列class文件打包成jar文件,并不指打包成exe文件,如果需要打包成exe可以使用,可以使用exe4j制作,地址点这里。

本文对打包成exe文件的方法不作介绍。

什么是jar

JAR(Java Archive,Java 归档文件)是与平台无关的文件格式,它允许将许多文件组合成一个压缩文件。

注意了,jar是一个压缩文件,有不少刚学习java的同学都好奇要如何打开jar文件,事实上使用7-zip,WinRAR等就可以打开,当然了jar并不是为了给你这么用的。

如何制作jar

本文将讲解使用eclipse制作jar,至于在命令行下如何用jar命令以后再细说。

使用eclipse制作jar

制作普通的jar文件

文件->导出->java->选择jar文件(可运行jar文件下面会总结)

python将java源码包打包为jar包 python 打包jar_java 批量导出jar包

下一步(直到没有下一步可选)就是选择需要打包的资源,以及路径等相关配置,这个按需选择即可。

python将java源码包打包为jar包 python 打包jar_jar_02

随后选择完成即可,一个jar文件就产生了耶( •̀ ω •́ )y

总的来说,打包普通jar文件使用eclipse打包比较傻瓜化,下面说说制作可以运行的jar

制作可运行的jar文件

文件->导出-->java->选择可运行jar文件

主要区别的是需要配置启动配置,也就是你main方法的那个类,其余配置也可以按需配置即可。

python将java源码包打包为jar包 python 打包jar_jar文件_03

随后选择完成即可,一个可运行jar文件就产生了耶( •̀ ω •́ )

双击看看,怎么没反应?

原因很简单,可运行jar文件是映射给javaw.exe运行的,而javaw.exe和python中pyw格式是一样的,即隐藏掉控制台,显示你自己绘制的GUI程序,所以如果你的程序没有提供GUI,那么就会什么也不显示。

那么是不是就无法运行没有提供的GUI文件了吗?

答案当然是否定的。

你只需在命令行下进入相对应的目录,使用以下命令

java -jar yourJarName.jar

即可在控制台中看到结果

显然,可运行jar与普通的jar文件差别只在于你是否提供了具有main方法的那个类。

导入jar

往往我们使用jar打包java不只是为了双击使用,有时也是为了代码复用。既然是为了复用,自然就意味着我们需要将打包好了jar文件导入工程中

eclipse中导入jar的操作依旧很傻瓜化。

现在工作目录下新建一个文件夹,用于管理导入jar文件

在左边资源管理器中,单击新建的文件夹->导入->常规->文件系统。

python将java源码包打包为jar包 python 打包jar_java 批量导出jar包_04

选择你要导入的jar文件。

python将java源码包打包为jar包 python 打包jar_jar文件_05

在新建的文件夹中看到你添加进的jar文件,就成功了一半了。

python将java源码包打包为jar包 python 打包jar_java 批量导出jar包_06

这时你需要单击jar文件,在弹出菜单中选中构建路径->添加到构建路径后,在引用的库下看到这个jar文件,就完全成功了。

python将java源码包打包为jar包 python 打包jar_java 批量导出jar包_07

此后,你就可以使用import语句来使用你之前打包好的类了耶( •̀ ω •́ )。

关于在eclipse导入jar还有其他方法,详细可查看他人的博客,本文只选择容易操作的进行总结。

尾声

eclipse虽然使得打包jar文件变得非常简单,但有些时候我们还需要在命令行下用java自带的jar命令来进行打包。碍于时间关系,将留待下一篇文章进行总结。

新人写完只是为了帮助更新的人,如果有不足的地方,望指正。