spring-boot-maven-plugin可用于非弹簧项目吗?

spring-boot-maven-plugin主要目标是将spring boot应用程序打包到具有所有依赖项的可执行jar中。 它可以用于没有弹簧或弹簧靴的项目吗? 我不是使用spring依赖项,而只是用于加载依赖jar的类加载器机制。

是的你可以! 实际上我测试了,我很高兴地发现spring-boot-maven-plugin repackage完全不知道Main类使用的是什么,并且大部分与Springframework完全分离(不幸的是文档没有提到这个但是我猜泉真的想用他们的东西)。

它基本上是Spring的onejar插件版本(但它也将自己的shell脚本添加到jar中)。

spring-boot-maven-plugin重新包装( spring-boot:repackage )基本上创建了自己的微型容器,带有一个小型装载器,用于寻找特定的布局(jar子所在的位置),这是由您的项目包装决定的(即warjar )。 小型加载器不会加载任何Springframework代码

当然,您的Main类必须知道如何启动servlet容器(或者您计划加载的任何内容)。 大多数servlet容器都有关于如何在嵌入模式下运行的文档。

至于代码示例,您可以将以下内容放在部分中:

   org.springframework.boot spring-boot-maven-plugin  true true   

然后你像mvn package spring-boot:repackage一样运行构建。 该插件的文档实际上并不坏。

我想spring boot maven插件只适用于spring项目,可以一次性带来所有依赖项。

如果您在识别依赖项时遇到问题,则只需创建一个Spring启动项目即可。 完成后,您将获得Spring项目中的所有库。 使用spring复制或导入项目中的库。

通过这种方法,所有依赖项的项目设置将变得更加容易。