maven完成后奇怪的减速

时间:2015-08-20 10:56:14

标签: maven

我有一个java项目,在maven完成它之后需要10秒才能关闭。即使进行简单的mvn清洁也需要10秒以上。它似乎只是悬挂。

$ time mvn clean
[INFO] Scanning for projects...
[WARNING]
[WARNING] Some problems were encountered while building the effective model for io.inbot:inbot-java:jar:1.0
[WARNING] 'build.plugins.plugin.version' for org.apache.maven.plugins:maven-compiler-plugin is missing. @ line 35, column 21
[WARNING] 'build.plugins.plugin.version' for org.apache.maven.plugins:maven-surefire-plugin is missing. @ line 45, column 12
[WARNING] 'build.plugins.plugin.version' for org.apache.maven.plugins:maven-jar-plugin is missing. @ line 31, column 21
[WARNING] 'build.plugins.plugin.version' for org.apache.maven.plugins:maven-javadoc-plugin is missing. @ line 144, column 21
[WARNING]
[WARNING] It is highly recommended to fix these problems because they threaten the stability of your build.
[WARNING]
[WARNING] For this reason, future Maven versions might no longer support building such malformed projects.
[WARNING]
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building inbot-java 1.0
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ inbot-java ---
[INFO] Deleting /Users/jilles/git/linko/inbot-java/target
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.373 s
[INFO] Finished at: 2015-08-20T12:42:13+02:00
[INFO] Final Memory: 24M/1963M
[INFO] ------------------------------------------------------------------------
[1]+  Done                    mvn clean

real    0m12.603s
user    0m14.689s
sys 0m0.303s

我已经尝试向进程发送kill -QUIT以查看它实际在做什么,但它似乎不再能够在挂起时转储堆栈跟踪。这意味着可能某些关闭挂钩或终结仍在运行,但vm不再响应。

我正在使用这个maven版本:

mvn --version
Apache Maven 3.3.3 (7994120775791599e205a5524ec3e0dfe41d4a06; 2015-04-22T13:57:37+02:00)
Maven home: /usr/local/maven
Java version: 1.8.0_31, vendor: Oracle Corporation
Java home: /Library/Java/JavaVirtualMachines/jdk1.8.0_31.jdk/Contents/Home/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "mac os x", version: "10.10.4", arch: "x86_64", family: "mac"

有了这个环境

JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_31.jdk/Contents/Home
MAVEN_OPTS='-Xms2048M -Xmx2048M'

ps -h

报告的完整命令行
24547 ttys000    0:05.57 /Library/Java/JavaVirtualMachines/jdk1.8.0_31.jdk/Contents/Home/bin/java -Xms2048M -Xmx2048M -classpath /usr/local/maven/boot/plexus-classworlds-2.5.2.jar -Dclassworlds.conf=/usr/local/maven/bin/m2.conf -Dmaven.home=/usr/local/maven -Dmaven.multiModuleProjectDirectory=/Users/jilles/git/linko/inbot-java org.codehaus.plexus.classworlds.launcher.Launcher clean

我很想知道发生了什么,甚至更好地解决了这个问题。

编辑:找到根本原因:ch.raffael.doclets.pegdown.PegdownDoclet;见下面的答案

1 个答案:

答案 0 :(得分:1)

显而易见的事情并最终确定我们用于javadoc插件的doclet是根本原因。一旦我对此发表评论,问题就会消失。这就留下了一个问题,为什么它甚至会在mvn clean上激活。

<plugin>
                <artifactId>maven-javadoc-plugin</artifactId>
                <configuration>
                    <doclet>ch.raffael.doclets.pegdown.PegdownDoclet</doclet>
                    <docletArtifact>
                        <groupId>ch.raffael.pegdown-doclet</groupId>
                        <artifactId>pegdown-doclet</artifactId>
                        <version>1.1</version>
                    </docletArtifact>
                    <useStandardDocletOptions>true</useStandardDocletOptions>
                </configuration>
            </plugin>
相关问题