怎么使用idea创建springboot框架的有多个子项目的gradle project

创建工程a ,
包含子工程 b,c,d ,
b为springboot启动项目,
b依赖c, c依赖d,求指导怎么建立### 问题描述

阅读 3.1k
2 个回答
新手上路,请多包涵

1.先建立一个空的工程A
2.建立第一个module项目B(web)
3.建立第二个module项目C(core)
4.建立第三个module项目D(common)
一、在A顶层项目的pom文件中,写明包含的模块

<groupId>com.aa</groupId>
<artifactId>project</artifactId>
<version>1.0.0-SNAPSHOT</version>
<packaging>pom</packaging>
<!-- 创建多个module时自动会添加进来 -->
<modules>
    <module>project-common</module>
    <module>project-core</module>
    <module>project-web</module>
</modules>
<!-- 使用properties方便管理子模块各版本,配合dependencyManagement使用这样就可以引入是不必写明具体版本号,会从顶层中配置读取 -->
<properties>
    <learn-project.version>1.0.0-SNAPSHOT</learn-project.version>
</properties>
<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>com.aa</groupId>
            <artifactId>project-core</artifactId>
            <version>${learn-project.version}</version>
        </dependency>
        <dependency>
            <groupId>com.aa</groupId>
            <artifactId>project-web</artifactId>
            <version>${learn-project.version}</version>
        </dependency>
        <dependency>
            <groupId>com.aa</groupId>
            <artifactId>project-common</artifactId>
            <version>${learn-project.version}</version>
        </dependency>
    </dependencies>
</dependencyManagement>

二、在B工程的pom.xml文件中写入

<parent>
    <groupId>com.aa</groupId>
    <artifactId>project</artifactId>
    <version>1.0.0-SNAPSHOT</version>
</parent>

<dependencies>
    <dependency>
        <groupId>com.aa</groupId>
        <artifactId>project-core</artifactId>
    </dependency>
</dependencies>

三、在C工程的pom.xml中写入

<parent>
    <groupId>com.aa</groupId>
    <artifactId>project</artifactId>
    <version>1.0.0-SNAPSHOT</version>
</parent>

<dependencies>
        <dependency>
            <groupId>com.aa</groupId>
            <artifactId>project-common</artifactId>
        </dependency>
</dependencies>

站在项目维护角度上说,我个人不建议你用子项目嵌套的方式管理大型工程项目,会把项目搞复杂,尽管gradle支持这么干,而且比maven更简单。如果你确实需要这么干,参考官方文档: https://docs.gradle.org/curre...

我个人比较推荐的做法是将这几个子项目分开维护,在主项目中打包成spring boot application,其他子项目作为插件形式依赖,都推送至maven仓库(可以搭建私有maven仓库)统一管理维护。这样互不影响,而且是maven的正确姿势

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题