2012-07-12 66 views
0

我想在使用ProGuard进行混淆的Hudson上构建我的maven项目。我只是执行混淆目标并跳过ProGuard的优化和卸载功能。OutOfMemoryException当使用ProGuard在Hudson上构建Java应用程序时

这个问题只有当我尝试在哈德森上生成项目时,但是当我使用eclipse或从命令提示符在我的机器上构建相同的项目时,它会成功构建。

我试着在Hudson上更改MAVEN_OPTSJAVA_OPTS选项,但它不起作用。

以下是例外:

[proguard] Reading library jar [/builds/repositories/builds/com/ibm/dhbcore/6.0/dhbcore-6.0.jar] [proguard] Exception in thread "main" java.lang.OutOfMemoryError: Java heap space [proguard] at proguard.classfile.io.LibraryClassReader.createConstant(LibraryClassReader.java:328) [proguard] at proguard.classfile.io.LibraryClassReader.visitLibraryClass(LibraryClassReader.java:99) [proguard] at proguard.classfile.LibraryClass.accept(LibraryClass.java:248) [proguard] at proguard.io.ClassReader.read(ClassReader.java:86) [proguard] at proguard.io.FilteredDataEntryReader.read(FilteredDataEntryReader.java:87) [proguard] at proguard.io.JarReader.read(JarReader.java:65) [proguard] at proguard.io.DirectoryPump.readFiles(DirectoryPump.java:65) [proguard] at proguard.io.DirectoryPump.pumpDataEntries(DirectoryPump.java:53) [proguard] at proguard.InputReader.readInput(InputReader.java:226) [proguard] at proguard.InputReader.readInput(InputReader.java:200) [proguard] at proguard.InputReader.readInput(InputReader.java:178) [proguard] at proguard.InputReader.execute(InputReader.java:100) [proguard] at proguard.ProGuard.readInput(ProGuard.java:195) [proguard] at proguard.ProGuard.execute(ProGuard.java:78) [proguard] at proguard.ProGuard.main(ProGuard.java:499) mojoFailed com.pyx4me:proguard-maven-plugin:2.0.4(default)

+0

>当ProGuard执行混淆>目标时发现以下异常。 – user1519749 2012-07-12 05:56:47

+0

小心发布stacktrace? – aviad 2012-07-12 06:07:57

+0

解决方案可以在这里找到:http://stackoverflow.com/questions/19387801/how-do-i-allocate-more-memory-to-proguard-with-the-proguard-maven-plugin – 2016-06-17 11:32:19

回答

0

如果你的内存不足,或者有一些非常错误的与您的代码或(先试试这个)你真的是内存不足。尝试向构建选项添加-Xmx参数,并为其提供更多内存。

-1

感谢您的帮助和回应。我解决这个问题。在Proguard的配置部分中,我需要将一个元素定义为pom的一部分。这解决了我的问题。

Regards 
Siddharth Shah 
+2

它的伟大,你解决了你的问题。现在试着让这个答案更好,阅读[how-to-answer guide](http://stackoverflow.com/questions/how-to-answer)来学习如何。之后[接受最佳答案](http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work)。 – 2012-07-13 13:38:10

+0

加入好友,你还必须添加答案 – Android 2014-12-12 09:59:24

相关问题