前言
如下简单 maven 项目,现在 maven 项目比较流行,你还没用过就OUT了。需要打包jar
先设置:点击 File ==> Project Structure ==> Artifacts ==> 点击加号 ==> 选择JAR ==> 选择From modules with dependencies
一、将所有依赖和模块代码打包为一个jar
如果把所有项目依赖的其他库和代码打成一个 jar,可以选择extract to the target JAR 。比如如果你项目里依赖了 fastjson.jar 等第三方 jar,可以把这些第三方 jar 也打到最终生成的 jar 里面。
1.选择要打包的模块和启动类,然后选择 extract to the target JAR 。
最后点击 ok 设置完毕
2.确认要生成的 jar 名称(默认是项目或模块名),确认 jar 包的输出的目录,确认最终输出的 jar 里包含的依赖(我这里包含了14个其他依赖和项目代码,如果不想包含第三方依赖可以选中相关依赖点击减号进行排除),点击 Apply 和 Ok
3 . 点击 Build ==> Build Artifacts
先点击 clear 进行清除,然后再点击 Build 进行构建,就可以打成一个jar包了
(如果不点击 clear 进行清理上次的构建,直接点击Build 进行构建的话,可能会把上次构建的东西打进去导致 jar 包变得比较大)
4.构建打包提示成功后就可以在输出目录里找到打好的 jar 包了
二、只将模块代码打包为一个jar
如果你不想把所有项目依赖的其他库和代码都打成一个 jar,可以选择copy to the output directory and link via manifest 。比如,如果你项目里依赖了 fastjson.jar 等第三方 jar,这些第三方 jar 不会被打到最终生成的jar里面,只会把这些依赖的 jar 和最终生成的 jar 输出到一个目录下。
1.先选择你要打包的模块和启动类,然后选择copy to the output directory and link via manifest ,点击ok
2.确认要生成的 jar 名称(默认是项目或模块名),确认 jar 包的输出的目录,确认项目使用到的依赖,点击 Apply 和 Ok
3.点击 Build ==> Build Artifacts
一般先点击 clear 进行清除,然后再点击 Build 进行构建,就可以打成一个 jar 包了
(如果不点击 clear 进行清理上次的构建,直接点击Build 进行构建的话,可能会把上次构建的东西打进去导致 jar 包变得比较大)
4.构建打包提示成功后就可以在输出目录里找到打好的 jar 包了,另外项目依赖的其他 jar 包也会输出到这个目录
三、也可以采用其他方法打包
上面的方式是使用 java通行编辑器 IDEA 来打包,如果你使用的是 maven 项目,你也可以使用其他插件来打包。可以使用 spring-boot-maven-plugin 插件打包,还有maven-dependency-plugin、maven-shade-plugin、maven-assembly-plugin等插件也可以打包。
使用 spring-boot-maven-plugin 插件打包: 在 pom.xml 中的 build 标签下的 plugins 标签下加入如下配置:
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>1.0.1-SNAPSHOT</version>
<configuration>
<mainClass>com.example.cipherdemo</mainClass>
<finalName>test</finalName>
<includes>
<include>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</include>
</includes>
</configuration>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
mainClass 标签里是你的项目的启动类的包路径,如果你的项目没有有启动类也不需要通过 java -jar 运行的话可以删除 mainClass
finalName 标签里的就是打出来的 jar 名,我这里是 XTool ,最终生成的就是 XTool.jar 。若不使用 finalName 指定,则打包生成的 jar 包名默认使用 pom.xml 文件里 artifactId 标签和 version 标签里的值作为 jar 的名。
如果最终生成的 jar 包不包含第三方依赖那直接用上面的插件配置即可。如果希望最终生成的 jar 包里包含第三方依赖那就删除 includes 标签及其里面的内容
在 IDEA 右边侧边栏的 Maven 选项卡里点击 Lifecyle 下的 package 就可以开始打包了, 最终生成的 jar 包就在 target 目录下
JAR包使用:不用配置apache环境