spring-boot-maven-plugin
主要目标是将spring boot应用程序打包到具有所有依赖项的可执行jar中。它可以用于没有弹簧或弹簧靴的项目吗?我不是使用spring依赖项,而只是用于加载依赖jar的类加载器机制。
答案 0 :(得分:2)
是的,你可以!实际上我测试过,我很高兴地发现spring-boot-maven-plugin
repackage
完全不知道Main
类使用的是什么大多数情况下完全脱离Springframework(不幸的是文档没有提到这一点,但我想Spring真的想要使用他们的东西)。
它基本上是Spring的onejar plugin版本(但它也将自己的shell脚本添加到jar中)。
spring-boot-maven-plugin
重新包装(spring-boot:repackage
)基本上创建了自己的微型容器,其中包含一个小型装载器,用于查找特定布局(罐子所在的位置),这由您的项目包装决定(即{ {1}}或<packaging>war</packaging>
)。小型加载器不会加载任何Springframework代码。
当然,您的<packaging>jar</packaging>
类必须知道如何启动servlet容器(或任何您计划加载的容器)。大多数servlet容器都有关于如何在嵌入模式下运行的文档。
至于代码示例,您可以将以下内容放在Main
部分中:
<build>
然后运行类似 <plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<executable>true</executable>
<fork>true</fork>
</configuration>
</plugin>
的构建。 documentation for the plugin实际上并不差。
答案 1 :(得分:-1)
我认为spring boot maven插件仅适用于spring项目,可以一次性使用所有依赖项。
如果您在识别依赖项时遇到问题,则只需创建一个Spring启动项目即可。完成后,您将获得Spring项目中的所有库。使用spring复制或导入项目中的库。
通过这种方法,所有依赖项的项目设置将变得更加容易。