了解多模块项目中的 Spring Boot Maven 插件
Posted
技术标签:
【中文标题】了解多模块项目中的 Spring Boot Maven 插件【英文标题】:understanding Spring Boot Maven Plugin in Multi-Module projects 【发布时间】:2019-01-30 19:38:42 【问题描述】:我正在学习 Spring Boot 多模块项目,并尝试了解 Spring Boot maven 插件到底是什么。
例如,我有 2 个不同的项目。在第一个项目中,我在 web 模块中有 spring boot maven 插件:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.0.4.RELEASE</version>
<configuration>
<mainClass>dgs.web.DemoApplication</mainClass>
<layout>ZIP</layout>
</configuration>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
在第二个项目中,我在数据模块中有这个插件:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
<configuration>
<skip>true</skip>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
这是在第二个项目的父 pom 中:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
有人能解释一下这个spring boot maven插件在第二个项目中的作用吗?以及为什么没有关于 mainClass 的参考。我只在第一个项目中看到这个 mainClass 标记。
【问题讨论】:
对于确切的代码示例,还应该给出父声明,因为通常使用 Spring Boot 父,它为 spring-boot-maven-plugin 定义了很多默认值。再次查看给出的文档。 【参考方案1】:maven 插件用于通过 Maven 打包和执行。
您应该阅读文档:
https://docs.spring.io/spring-boot/docs/current/reference/html/build-tool-plugins-maven-plugin.html
https://docs.spring.io/spring-boot/docs/2.0.4.RELEASE/maven-plugin/
【讨论】:
以上是关于了解多模块项目中的 Spring Boot Maven 插件的主要内容,如果未能解决你的问题,请参考以下文章
Thymeleaf 无法解析多模块 Spring Boot 项目中的模板