我目前正在开发一个春季启动多模块项目。
设置春季启动项目时,在您的pom.xml
中,您需要对Spring Boot的父母进行参考,例如
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.10.RELEASE</version>
</parent>
我想拥有的是我的项目是一个更广泛的项目的spring spring启动项目(即,我想在一个仓库中的一个项目文件夹下将它们包装在一起(。
现在,通常是为了设置多模块项目,您将父pom info放在subpoule pom.xml
中。
但是,必须将弹簧靴父母作为要求,因此不可能这样做。
我已经在网络上看到了建议,建议将我的子模块移出并独立将其作为一个单独的项目,但我认为这将是我的最后一个不得已,除非这是唯一的方法。
有人对如何实现我想要的东西或我想要实现的目标有任何想法吗?
期待听力选择...
您不能拥有不同的父pos。除非您想将启动父母扩展到自己的父型POM并从那里工作,这可能是可行的。
另一个选项是将弹簧引导BOM与依赖关系进行使用,当您想超越依赖关系时,它会少一些简洁。通常,您只是覆盖Maven属性。
但是,当使用BOM时,您需要订购覆盖率,然后在依赖项管理标签中持续启动BOM。春季文档的示例
<dependencyManagement>
<dependencies>
<!-- Override Spring Data release train provided by Spring Boot -->
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-releasetrain</artifactId>
<version>Fowler-SR2</version>
<scope>import</scope>
<type>pom</type>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>1.5.10.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
请参阅,https://docs.spring.io/spring-boot/docs/current/referent/referent/html/using-boot-build-systems.html#using-boot-boot-maven-without-without-a-parent-a-parent-a-parent-a-parent-boot-build-systemP>
有关设置春季启动项目的更多信息,而无需使用Spring Boot Parent Pom。
您可以创建一个父pom.xml,并在此pom.xml中添加spring-boot parent,也必须将其添加为模块的其他项目
如果您在模块中添加parent pom.xml pom.xml,则可以通过parent pom.xml
访问spring-boot父项目pom.xml
...
<groupId>com.example</groupId>
<artifactId>parent-project</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<name>parent-project</name>
<description>Rent A Car Operation System Parent Project</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.0.M3</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<modules>
<module>module-1</module>
<module>module-2</module>
<module>module-3</module>
</modules>
...
模块项目pom.xml
...
<name>module-1</name>
<description>Demo project for Spring Boot</description>
<parent>
<groupId>com.example</groupId>
<artifactId>parent-project</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>
...
您不需要添加依赖项,这些依赖项也已在parent project pom.xml中添加
不要忘记parent-project pom.xml中的 <packaging>pom</packaging>