2012-07-12 59 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

相關問題