URL
date
AI summary
slug
status
tags
summary
type

通过IntelliJ IDEA 创建可执行jar包

1. 右键项目,单击【Open Module Settings】

notion image

2. 单击【Artifacts】

notion image

3. 单击【+】-> 【JAR】->【From modules with dependencies...】

notion image

4. 填写Jar包的信息

  1. 填写对应的Module、Main Class
  1. 选择依赖jar包的依赖方式,支持2种方式:
    1. 暴力型——把依赖包全部解压成class文件然后一起打到新包里
    2. 半优雅型——把依赖jar包原封不动copy过去,然后通过在manifest文件里声明对应的依赖jar包路径
  1. 填写对应的manifest文件路径,这个不能用默认的(/src/main/java),保留到项目的根目录即可
notion image
单击OK之后就创建完了,可以在下图看到创建好的Artifact,标红的地方是对应的jar包输出路径,这个要在Build Artifacts完成之后输出。
notion image

5. 单击【Build】->【Build Artifacts】

notion image

6. 检验jar包

之后就可以在out目录里看到对应的jar包了。这里我分别用2种不同依赖处理方式(暴力型、半优雅型)创建了artifacts,从下图打出来的jar包可以直观的看出区别:
  1. 暴力型只创建了1个可执行jar包,包内包含了所有依赖包解压后的文件
  1. 半优雅型的创建了1个只包含项目文件的可执行jar包,依赖包都原封不动的打包到了同级目录,并且在manifest里指定了class-path
notion image
创建可执行jar包的多种方式线上问题分析——maven循环依赖导致传递依赖失效问题