spring-boot-maven-plugin
的主要目标是将Spring Boot应用程序包装到具有所有依赖项的可执行JAR中。它可以在没有春季或春季靴子的项目中使用吗?我不使用春季依赖性,而只是加载jar的classloader机制。
是的,您可以!实际上我已经测试过,很高兴找到spring-boot-maven-plugin
repackage
完全不可知Main
类用途,并且在大多数情况下完全是完全不可知的与Springframework脱钩(不幸的是,文档并没有提及这一点,但我想Spring确实想使用他们的东西)。
基本上是春季插件的版本(但它也将自己的shells脚本添加到jar)。
spring-boot-maven-plugin
重新包装(spring-boot:repackage
)实质上是用一个小装载机创建自己的微容器,该容器可以通过您的项目包装(即<packaging>war</packaging>
或<packaging>jar</packaging>
)确定特定布局(位于罐子的位置)。小加载程序不加载任何弹簧式工程代码。
当然,您的Main
类必须知道如何启动Servlet容器(或您打算加载的任何内容)。大多数servlet容器都有有关如何在嵌入式模式下运行的文档。
至于代码示例,您会将以下内容放在<build>
节中:
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<executable>true</executable>
<fork>true</fork>
</configuration>
</plugin>
然后,您像mvn package spring-boot:repackage
一样运行构建。插件的文档实际上还不错。
我猜我猜Spring Boot Maven插件仅用于春季项目,以将所有依赖项用于一张。
如果您在识别依赖项方面有问题,则可以简单地创建一个春季启动项目。完成后,您将在春季项目中获取所有图书馆。复制或导入您项目中的这些图书馆。
,使用该项目的方法设置具有所有依赖性。