使用ProGuard在Hudson上使用Maven构建Java应用程序时出现OutOfMemoryException

时间:2012-07-12 05:55:19

标签: java proguard

我正在尝试使用ProGuard for Obfuscation在Hudson上构建我的maven项目。我只是执行Obfuscation目标并跳过ProGuard的优化和推卸功能。

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

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

以下是例外:

  

[proguard]阅读库jar   [/builds/repositories/builds/com/ibm/dhbcore/6.0/dhbcore-6.0.jar]   [proguard]线程“main”中的异常java.lang.OutOfMemoryError:Java   堆空间[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]在proguard.io.ClassReader.read(ClassReader.java:86)   [proguard] at   proguard.io.FilteredDataEntryReader.read(FilteredDataEntryReader.java:87)   [proguard]在proguard.io.JarReader.read(JarReader.java:65)   [proguard] at   proguard.io.DirectoryPump.readFiles(DirectoryPump.java:65)[proguard]     在proguard.io.DirectoryPump.pumpDataEntries(DirectoryPump.java:53)   [proguard]在proguard.InputReader.readInput(InputReader.java:226)   [proguard]在proguard.InputReader.readInput(InputReader.java:200)   [proguard]在proguard.InputReader.readInput(InputReader.java:178)   [proguard]在proguard.InputReader.execute(InputReader.java:100)   [proguard]在proguard.ProGuard.readInput(ProGuard.java:195)   [proguard]在proguard.ProGuard.execute(ProGuard.java:78)[proguard]     在proguard.ProGuard.main(ProGuard.java:499)mojoFailed   com.pyx4me:proguard的-行家-插件:2.0.4(默认)

2 个答案:

答案 0 :(得分:0)

如果你的内存不足,或者你的代码出现了问题,或者(先试试这个)你真的没有记忆。尝试在构建选项中添加-Xmx参数,并为其提供更多内存。

答案 1 :(得分:-1)

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

Regards
Siddharth Shah