Java 如何打包成 jar

想要把写好的Java程序发给朋友用,或是部署到服务器上,“打包成jar包”是最常用的方法。很多新手刚接触这一步时,总觉得“要写代码、要记命令”特别麻烦,其实只要跟着步骤走,用生活化的例子就能轻松搞定。

先搞懂:什么是jar包?

你可以把jar包想象成一个“压缩收纳箱”:平时写Java代码时,会分成很多个零散的.class文件(就像衣服、鞋子、书本),把这些文件和运行必需的配置文件(比如程序用到的小工具)都放进这个收纳箱里,就成了一个jar包。这个收纳箱不用额外拆文件,电脑就能直接识别运行,比发一堆零散文件方便太多。

Java 如何打包成 jar

第一步:用IDEA快速打包(新手最常用)

如果是用IDEA写代码,不用记复杂命令,点几下就能生成jar包。举个例子:假设你写了一个“计算两个数相加”的小程序,代码里有个main方法(就是程序启动的“开关”)。

  • 打开IDEA右侧的“Maven”面板(如果没显示,点顶部菜单“View→Tool Windows→Maven”);
  • 点面板里的“Lifecycle”,找到最后一个“package”,双击它;

等控制台显示“BUILD SUCCESS”,就打包完成了。

生成的jar包在哪?在项目的target文件夹里,名字一般是项目名加版本号,就像“sum-demo-1.0-SNAPSHOT.jar”。

第二步:给jar包加“启动开关”(避免运行报错)

有时候直接双击jar包会弹错,这是因为jar包不知道该从哪个main方法启动——就像你买了收纳箱,但没贴“拿这里的钥匙开门”的标签,电脑找不到入口。

解决方法很简单,还是用IDEA:

  • 打开项目的pom.xml文件(如果是Maven项目),在</project>标签前加一段配置:

`xml

<build>

<plugins>

<plugin>

<artifactId>maven-jar-plugin</artifactId>

<configuration>

<archive>

<manifest>

<!-- 这里填你的main方法所在的类,比如com.example.sum.Main -->

<mainClass>com.example.sum.Main</mainClass>

</manifest>

</archive>

</configuration>

</plugin>

</plugins>

</build>

`

  • 重新双击Maven的“package”,新生成的jar包就带了启动标签,双击就能直接运行你的程序了。

第三步:用命令行打包(不用IDE的场景)

如果是在服务器上写代码,或是不想用IDEA,用命令行也能打包。还是用刚才的“相加程序”举例:

  • 先把代码编译成.class文件:打开命令行,进入项目的src文件夹,输入javac -d classes com/example/sum/Main.java(-d classes是告诉电脑把编译好的文件放进classes文件夹,就像把衣服放进收纳箱前先分类放好);
  • 进入classes文件夹,输入jar cvfe sum-demo.jar com.example.sum.Main com/example/sum/Main.class;
  • 解释下这个命令:cvfe是打包的参数,sum-demo.jar是生成的jar包名字,com.example.sum.Main是启动类,最后是要打包的文件。

生成的sum-demo.jar和IDEA打包的效果一样,双击就能运行。

最后:打包后的jar怎么用?

拿到jar包后,只要你的电脑上装了Java运行环境(JRE),双击就能启动程序;要是想发给别人,直接传这个jar文件就行,不用带其他零散代码,对方只要装了JRE,点开就能用,特别方便。

上一篇 JavaScript getter setter 怎么用