Java 正在多次编译复杂的maven项目依赖项

Java 正在多次编译复杂的maven项目依赖项,java,maven,Java,Maven,依赖关系越多,构建项目所需的时间就越长。如何防止maven在同一模块上进行多次完整安装 你怎么称呼Mavenmvn安装?从您的多模块构建的根开始?我不认为同一模块的安装会进行多次。是什么让你得出这个结论的?此外,您可以只使用mvn包而不使用mvn安装。您正在呼叫clean吗?如果在根项目上执行mvn clean install,它将删除所有目标文件夹并重建所有内容。也许您应该尝试只安装mvn,或者只构建您所更改的模块,而不是整个模块project@khmarbaise也许我提供的信息不足以得出这

依赖关系越多,构建项目所需的时间就越长。如何防止maven在同一模块上进行多次完整安装

你怎么称呼Maven<代码>mvn安装?从您的多模块构建的根开始?我不认为同一模块的安装会进行多次。是什么让你得出这个结论的?此外,您可以只使用
mvn包
而不使用
mvn安装
。您正在呼叫clean吗?如果在根项目上执行mvn clean install,它将删除所有目标文件夹并重建所有内容。也许您应该尝试只安装mvn,或者只构建您所更改的模块,而不是整个模块project@khmarbaise也许我提供的信息不足以得出这样的结论,但这是事实。控制台输出清楚地表明某些模块已安装多次。有人写了一个关于
-pl模块common,模块A,模块B,模块C
参数的答案。。。它是有效的,但是如何将这种行为嵌入pom中,以通过简单的
安装获得同样的效果?@dantuch您是否可以发布maven运行的完整日志输出,其中显示了这种行为。此外,最好的方法是发布完整的pom.xml文件及其结构(可能在github上),以便查看。除此之外,如果
mvn-pl
将有助于防止pom文件中出现奇怪的行为等。
<project (...)>
    <modelVersion>4.0.0</modelVersion>

    <groupId>our.group.id</groupId>
    <artifactId>parent.of.all</artifactId>
    <version>3.2.2-SNAPSHOT</version>
    <packaging>pom</packaging>
    <url>http://maven.apache.org</url>

    <modules>
        <module>module-common</module>
        <module>module-A</module>
        <module>module-B</module>
        <module>module-C</module>
    </modules>

    <dependencyManagement>
        <dependencies>
            <dependency>
                (... - some external dependecies...)
            </dependency>
            <dependency>
                (... - some external dependecies...)
            </dependency>
            <dependency>
                (... - some external dependecies...)
            </dependency>

            <dependency>
                <groupId>our.group.id</groupId>
                <artifactId>module-common</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>our.group.id</groupId>
                <artifactId>module-A</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>our.group.id</groupId>
                <artifactId>module-B</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>our.group.id</groupId>
                <artifactId>module-C</artifactId>
                <version>${project.version}</version>
            </dependency>
        </dependencies>
    </dependencyManagement>
</project>
<project (...)>
    <modelVersion>4.0.0</modelVersion>

    <parent>
        <groupId>our.group.id</groupId>
        <artifactId>parent.of.all</artifactId>
        <version>3.2.2-SNAPSHOT</version>
    </parent>

    <artifactId>module-B</artifactId>
    <packaging>jar</packaging>

    <dependencies>
        <dependency>
            (... - some external dependecies...)
        </dependency>

        <dependency> <!-- internal dependency to other module -->
            <groupId>our.group.id</groupId>
            <artifactId>module-common</artifactId>
        </dependency>
    </dependencies>
</project>