我有一个多模块java项目。Maven需要大约40秒来构建它。我也尝试过使用多线程构建的maven,方法是指定-T和-C args来表示要使用的线程和内核的数量。但我还没有看到我构建的墙时间有任何显著的改善
我正在使用maven 3.2.3,有时我需要非常频繁地构建我的项目<我知道清洁目标需要很多时间,但我不能忽略它<请给我一些建议。。。。
编辑:
注意:在我的情况下,清洁不需要太多时间。它在1秒钟内完成。安装需要Rest时间。
你可以使用一些小技巧来优化构建,比如
-Dski p测试=true
mvn.bat
setMAVEN_OPTS=-Xmx512m-XX: MaxPermsize=256m
有关更多信息,您可以查看如何加速您的Maven构建
关于我的实际项目:
mvn清洁安装
[INFO]总时间:01:05小时以下是您需要添加到pom中的内容。xml,如果你想使用这个概念
<properties>
<timestamp>${maven.build.timestamp}</timestamp>
<maven.build.timestamp.format>yyyy-MM-dd-HH-mm</maven.build.timestamp.format>
<trashdir>trash/target-${maven.build.timestamp}</trashdir>
</properties>
<profile>
<id>quickclean</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<id>rename_target</id>
<phase>pre-clean</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<tasks>
<move todir="${trashdir}" failonerror="false">
<fileset dir="target/"/>
</move>
</tasks>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>trashclean</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<id>clean_trash</id>
<phase>clean</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<tasks>
<delete dir="trash/" failonerror="false"/>
</tasks>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
使用多线程运行maven build对我来说可以加快构建速度。例如:
mvn clean install -T100
其中-T用于根据硬件指定需要多少线程。
马文3。x有能力执行并行构建。命令如下:
图中的每个节点代表多模块构建中的一个模块,“级别”简单地表示到内部Reactor依赖关系图中第一个模块的距离。Maven基于声明的多模块构建的模块间依赖关系计算此图。请注意,父maven项目也是一个依赖关系,这解释了为什么在大多数项目图的顶部有一个单一节点。Reactor之外的依赖关系不影响此图。
最后,如果想跳过测试执行,还可以使用-DskipTests
。
注意:你的一些插件可能不兼容多线程生成器,它可能工作。但是它会给出下面的警告信息。你可能需要看到插件留档多线程支持。
[WARNING] *****************************************************************
[WARNING] * Your build is requesting parallel execution, but project *
[WARNING] * contains the following plugin(s) that have goals not marked *
[WARNING] * as @threadSafe to support parallel building. *
[WARNING] * While this /may/ work fine, please look for plugin updates *
[WARNING] * and/or request plugins be made thread-safe. *
[WARNING] * If reporting an issue, report it against the plugin in *
[WARNING] * question, not against maven-core *
[WARNING] *****************************************************************
[WARNING] The following plugins are not marked @threadSafe in test-project:
[WARNING] de.dentrassi.maven:rpm:0.9.2
[WARNING] Enable debug to see more precisely which goals are not marked @threadSafe.
[WARNING] *****************************************************************
在我的mac上使用Maven构建时,在< code>mvn install上,我得到 [警告]使用平台编码(实际上是MacRoman)来复制过滤的资源,即构建取决于平台! 是否可以为给定平台 (Linux) 构建或以其他方式独立于构建平台?
我如何让IDEA在Ubuntu中运行得更快?我正在一个具有6 gig RAM的i7 thinkpad中运行它。
我们目前没有自己的存储库。因此,当我们使用maven构建时,它将在当前用户的主目录中创建.m2存储库。 现在有两个第三方JAR在Maven Central中找不到。假设其中之一是hasp-srm-api.jar。今天的过程是这样的: a.依赖于hasp-srm-api.jar的项目的pom.xml包含以下行: b.在进行第一次构建之前,我们执行以下命令: 我的问题是这样的--这一步有没有可能自动化
问题内容: 这样做时,我希望在目标目录中包含2个WAR文件。一个将包含 生产 ,而另一个将包含 test / uat 。 我已经试过了: 但是,我最终只能参加测试WAR。 问题答案: 我不认为您可以一步完成此操作(实际上,令Maven没有抱怨您的设置并且不知道应用了哪个设置,我感到很惊讶),我建议您使用配置文件或过滤来管理此使用案件。 如果您确实不同,则可以将maven-war-plugin配置放
我尝试使用mojo插件在Maven中配置sencha cmd。Maven配置如下所示: 我设置了环境变量(在我的示例中,我使用的是Windows操作系统)。当我尝试执行命令时,会出现错误: 未能在project Vehicle-Store上执行goal org.codehaus.mojo:exec-maven-plugin:1.3.2:exec(sencha-compile):命令执行失败。无法运