我的maven版本在maven-jar-plugin上停滞不前。构建一个正常大小的jar文件大约需要10-15秒。使用jar工具或使用java.util.jar类直接创建jar文件不是问题。
在检测到isUp2Date为false并列出jar条目之间,构建停止。
[DEBUG] Configuring mojo 'org.apache.maven.plugins:maven-jar-plugin:2.3.2:jar' with basic configurator -->
[DEBUG] (f) classesDirectory = /home/.../repos/.../zz-test-zip/target/classes
[DEBUG] (f) defaultManifestFile = /home/.../repos/.../zz-test-zip/target/classes/META-INF/MANIFEST.MF
[DEBUG] (f) finalName = zz-test-zip-1.0.0-SNAPSHOT
[DEBUG] (f) forceCreation = false
[DEBUG] (f) outputDirectory = /home/.../repos/.../zz-test-zip/target
[DEBUG] (f) project = MavenProject: ...
[DEBUG] (f) useDefaultManifestFile = false
[DEBUG] -- end configuration --
[DEBUG] isUp2date: false (Destination /home/.../repos/.../zz-test-zip/target/zz-test-zip-1.0.0-SNAPSHOT.jar not found.)
** Here the build stalls **
[INFO] Building jar: /home/.../repos/../zz-test-zip/target/zz-test-zip-1.0.0-SNAPSHOT.jar
[DEBUG] adding directory META-INF/
[DEBUG] adding entry META-INF/MANIFEST.MF
什么可能导致maven-jar-plugin暂停?我在ubuntu 12.04和Oracle JDK 1.7.0_45上。 Maven版本是3.0.5“手动”安装,而不是来自ubuntu repo的版本。我还可以添加,当我在离线模式下使用-o
开关运行时,行为是相同的。
更新
我运行mvnDebug并将进程附加到eclipse,当我暂停主线程时它“暂停”时,它总是显示这个调用堆栈:
UnixNativeDispatcher.getgrgid(int) line: not available [native method]
UnixUserPrincipals.fromGid(int) line: 129
UnixFileAttributes.group() line: 187
NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not available [native method]
NativeMethodAccessorImpl.invoke(Object, Object[]) line: 57
DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 43
Method.invoke(Object, Object...) line: 606
Java7Reflector.invoke(Method, Object, Object...) line: 151
Java7Reflector.getOwnerGroupName(Object) line: 133
Java7FileAttributes.<init>(File) line: 68
PlexusIoResourceAttributeUtils.getFileAttributesByPathJava7(File, boolean) line: 330
PlexusIoResourceAttributeUtils.getFileAttributesByPath(File, Logger, int, boolean, boolean) line: 224
PlexusIoResourceAttributeUtils.getFileAttributesByPath(File) line: 195
PlexusIoFileResourceCollection.getResources() line: 177
AbstractArchiver$1.hasNext() line: 433
JarArchiver(AbstractZipArchiver).createArchiveMain() line: 233
JarArchiver(AbstractZipArchiver).execute() line: 211
答案 0 :(得分:1)
自从我将maven-jar-plugin升级到2.6后,问题就消失了。
<build>
<plugins>
...
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.6</version>
<configuration>
<archive>
<index>true</index>
<manifest>
<addClasspath>true</addClasspath>
</manifest>
</archive>
</configuration>
</plugin>
...
</plugins>
</build>
希望对你的案子有所帮助。