Java 建议为多个项目设置maven

Java 建议为多个项目设置maven,java,spring,maven,ant,Java,Spring,Maven,Ant,我在看一些开源项目,发现它们有如下设置: /app1/pom.xml /app1/app1-mod1/pom.xml /app1/app1-mod2/pom.xml /app1/app1-mod3/pom.xml 所以有一个主pom,然后所有模块都有pom.xml 因此,在我的情况下,我有以下几点: 1. spring mvc application 2. spring mvc application 3. shared model/db layer 所以我想我应该遵循multiple po

我在看一些开源项目,发现它们有如下设置:

/app1/pom.xml
/app1/app1-mod1/pom.xml
/app1/app1-mod2/pom.xml
/app1/app1-mod3/pom.xml
所以有一个主pom,然后所有模块都有pom.xml

因此,在我的情况下,我有以下几点:

1. spring mvc application
2. spring mvc application
3. shared model/db layer
所以我想我应该遵循multiple pom.xml设置

如果是,我将如何在2号和1号之前建造3号

我应该直接访问ant来执行实际构建吗

你们知道有什么教程可以指导我完成这个过程吗


我在用IntelliJ编码

Maven reactor将以适当的顺序构建模块,您可以通过对模块进行排序来告诉它您认为最好的方法是什么

我有一个类似的项目设置,如下所示:

<artifactId>root</artifactId>
<packaging>pom</packaging>
<name>Root</name>

<modules>
    <module>event</module>
    <module>admin</module>
    <module>public</module>
</modules>
<dependencies>
    <!-- Events -->
    <dependency>
        <groupId>${project.groupId}</groupId>
        <artifactId>event</artifactId>
        <version>${project.version}</version>
    </dependency>
</dependencies>
根目录
聚甲醛
根
事件
管理
公众的
然后,其他模块将其用作父模块。事件库用于管理和公共webapp模块。在webapp模块中,定义如下内容:

<artifactId>root</artifactId>
<packaging>pom</packaging>
<name>Root</name>

<modules>
    <module>event</module>
    <module>admin</module>
    <module>public</module>
</modules>
<dependencies>
    <!-- Events -->
    <dependency>
        <groupId>${project.groupId}</groupId>
        <artifactId>event</artifactId>
        <version>${project.version}</version>
    </dependency>
</dependencies>

${project.groupId}
事件
${project.version}

从根目录安装的mvn安装运行良好。

Maven reactor将以适当的顺序构建模块,您可以通过对模块进行排序来告诉它您认为最好的方法是什么

我有一个类似的项目设置,如下所示:

<artifactId>root</artifactId>
<packaging>pom</packaging>
<name>Root</name>

<modules>
    <module>event</module>
    <module>admin</module>
    <module>public</module>
</modules>
<dependencies>
    <!-- Events -->
    <dependency>
        <groupId>${project.groupId}</groupId>
        <artifactId>event</artifactId>
        <version>${project.version}</version>
    </dependency>
</dependencies>
根目录
聚甲醛
根
事件
管理
公众的
然后,其他模块将其用作父模块。事件库用于管理和公共webapp模块。在webapp模块中,定义如下内容:

<artifactId>root</artifactId>
<packaging>pom</packaging>
<name>Root</name>

<modules>
    <module>event</module>
    <module>admin</module>
    <module>public</module>
</modules>
<dependencies>
    <!-- Events -->
    <dependency>
        <groupId>${project.groupId}</groupId>
        <artifactId>event</artifactId>
        <version>${project.version}</version>
    </dependency>
</dependencies>

${project.groupId}
事件
${project.version}
从根目录安装的mvn安装运行良好。

Maven将自行计算您设置POM的it,以便 模块#1和#2都依赖于#3,maven将首先构建#3,无需任何额外配置

发布插件还需要您使用的布局(多模块)

另请参见

Maven将在您设置POM时自行计算POM,以便 模块#1和#2都依赖于#3,maven将首先构建#3,无需任何额外配置

发布插件还需要您使用的布局(多模块)


另请参见

注意,本例中的父项目和子项目以两种不同的方式链接:通过继承和通过组合。您可以很好地从父POM继承而不作为其子项目,或者相反,从另一个项目的子项目继承而不从其POM。请注意,本例中的父项目和子项目以两种不同的方式链接:通过继承和通过组合。您可以很好地从父POM继承而不作为其子项目,或者反过来,也可以成为另一个项目的子项目而不从其POM继承。很好的链接,多项目示例非常完美。很好的链接,多项目示例非常完美。