如何在maven pom.xml文件中拥有另一个父母依赖性以及弹簧启动父母



我目前正在开发一个春季启动多模块项目。

设置春季启动项目时,在您的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>

相关内容

  • 没有找到相关文章

最新更新