【问题标题】:Alternatives to distribute spring-boot application using maven (other than spring-boot:repackage)使用 maven 分发 spring-boot 应用程序的替代方案(spring-boot:repackage 除外)
【发布时间】:2016-01-28 12:33:28
【问题描述】:
据我所知,spring-boot-maven-plugin 已经提供了一种将整个应用程序分发到胖可执行 jar 文件中的方法:spring-boot-maven-plugin
但是,有时我们不想要一个封装所有模块和依赖项以及配置文件等的胖可执行 jar,可能是一个 zip/tar 文件,其中包含一个 jar 中的主模块,并在 jar 旁边为不同平台启动脚本,lib文件夹下的依赖和配置文件都在conf文件夹下:
应用程序.zip
mainApp.jar
运行.sh
运行.bat
库
一个.jar
b.jar
c.jar
会议
应用程序属性
logback.xml
如何在这种结构中进行分布?
【问题讨论】:
标签:
java
maven
spring-boot
software-distribution
spring-boot-maven-plugin
【解决方案1】:
使用 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
【讨论】:
-
这个插件真的很简洁!它几乎把我带到了那里。由于我在整个项目中使用了多个模块,因此 Appassembler 插件似乎无法在同一工作区中获取依赖模块的 jar 文件。我发布了一个新问题,因为我认为这与 Appassembler 插件有关,并提供了有关我使用的配置的更多详细信息。有兴趣可以关注:link