使用 Maven 分发 spring-boot 应用程序的替代方案(spring-boot:repackage 除外)
Alternatives to distribute spring-boot application using maven (other than spring-boot:repackage)
据我所知,spring-boot-maven-plugin 已经提供了一种将整个应用程序分发到胖可执行 jar 文件中的方法:spring-boot-maven-plugin
然而,有时我们不想要一个封装所有模块、依赖项和配置文件等的胖可执行 jar,可能是一个 zip/tar 文件,其中包含 jar 中的主模块和不同的启动脚本jar 旁边的平台以及 lib 文件夹和配置文件下的依赖项驻留在 conf 文件夹中:
application.zip
mainApp.jar
run.sh
run.bat
lib
a.jar
b.jar
c.jar
conf
application.properties
logback.xml
如何在这个结构中进行分配?
使用 Maven Appassembler plugin - 他们的 program
示例似乎与您正在寻找的很接近。输出将类似于:
.
`-- target
`-- appassembler
|-- bin
| |-- basic-test
| `-- basic-test.bat
`-- repo
`-- org
`-- codehaus
`-- mojo
`-- appassembler-maven-plugin
`-- it
`-- platforms-test
|-- 1.0-SNAPSHOT
| |-- maven-metadata-appassembler.xml
| `-- platforms-test-1.0-SNAPSHOT.jar
`-- maven-metadata-appassembler.xml
据我所知,spring-boot-maven-plugin 已经提供了一种将整个应用程序分发到胖可执行 jar 文件中的方法:spring-boot-maven-plugin
然而,有时我们不想要一个封装所有模块、依赖项和配置文件等的胖可执行 jar,可能是一个 zip/tar 文件,其中包含 jar 中的主模块和不同的启动脚本jar 旁边的平台以及 lib 文件夹和配置文件下的依赖项驻留在 conf 文件夹中:
application.zip mainApp.jar run.sh run.bat lib a.jar b.jar c.jar conf application.properties logback.xml
如何在这个结构中进行分配?
使用 Maven Appassembler plugin - 他们的 program
示例似乎与您正在寻找的很接近。输出将类似于:
.
`-- target
`-- appassembler
|-- bin
| |-- basic-test
| `-- basic-test.bat
`-- repo
`-- org
`-- codehaus
`-- mojo
`-- appassembler-maven-plugin
`-- it
`-- platforms-test
|-- 1.0-SNAPSHOT
| |-- maven-metadata-appassembler.xml
| `-- platforms-test-1.0-SNAPSHOT.jar
`-- maven-metadata-appassembler.xml