Spring Boot 生成可执行 Jar 包

Spring Boot 可以借助 maven 和 gradle 快速生成可执行 Jar 包。

maven 工具创建的项目

# 生成可执行 Jar 包
./mvnw spring-boot:run
# 执行
java -jar target/gs-rest-service-0.1.0.jar

gradle 工具创建的项目

# 生成可执行 Jar 包
./mvnw spring-boot:run
# 执行
java -jar target/gs-rest-service-0.1.0.jar

Intellij IDEA 生成 Jar 包

Intellij IDEA 可以生成两种形式的 Jar 包,一种跟上面的一样可以直接执行,另一种则是作为一个库文件,如果执行需要指定主类。

以下参考:IDEA 如何打jar包 - CSDN

IDEA 生成可执行 Jar 包

可执行 Jar 包携带 META-INF/MANIFEST.MF 文件,简称 Manifest 文件,主要包含了主类和类库地址信息。

以下是生成步骤:

  • 点击 File -> Project Structure 打开项目结构(Project Structure)选项弹框,或者快捷键 Ctrl+Shift+Alt+s。
  • 选择左侧 Project Setting 中的 Artifacts,点击 + ,选择 JAR -> empty,修改新界面中的名称和 Jar 包输出目录。
  • 在 Output Layout 最下方有 META-INF/MANIFEST.MF file not found in xx.jar 提示语,点击下面的 Create Manifest 按钮,弹框选择当前项目确定,会在当前项目目录下自动生成目录和 Manifest 文件。点击 Apply 应用,会出现 Manifest 属性设置,可以选择主类和设置类库地址。最后点击确认。
  • 点击 Build -> Build Artifacts,弹出选择弹框中,点击 Action 中的 Build 生成 Jar 包。可在步骤二中的 Jar 包输出目录下找到该 Jar 包。

IDEA 生成可执行 Jar 包
IDEA 生成可执行 Jar 包

IDEA 生成可执行 Jar 包
IDEA 生成可执行 Jar 包

IDEA 生成不可直接执行 Jar 包

前两个步骤与上面的一致,最后生成 Jar 包也一样,主要区别在第三步,不需要生成 Manifest 文件。

  • Output Layout 下右侧 Available Elements 下,双击选择 'xx' compile output 项,会添加该项到左侧的 xx.jar 下面。点击确认。

如果不执行这个步骤,则无法生成 Jar 包。

IDEA 生成不可直接执行 Jar 包
IDEA 生成不可直接执行 Jar 包

IDEA 生成不可直接执行 Jar 包
IDEA 生成不可直接执行 Jar 包

这种不可直接执行的 Jar 包其实也可以通过参数在命令行执行:

java -cp xx.jar com.example.demo.DemoApplication

最后面的执行参数就是主类。

扩展阅读:Spring boot 创建可部署 war 包