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