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

时间:2017-03-09 13:20:11

标签: java spring-boot spring-boot-maven-plugin

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

2 个答案:

答案 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复制或导入项目中的库。

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