簡體   English   中英

在ProGuard上在Hudson上使用Maven構建Java應用程序時出現OutOfMemoryException

[英]OutOfMemoryException while building java application using Maven on Hudson with ProGuard

我正在嘗試使用ProGuard for Obfuscation在Hudson上構建我的Maven項目。 我只是在執行混淆目標,並跳過了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] proguard.classfile.io.LibraryClassReader.createConstant(LibraryClassReader.java:328)在proguard.classfile.io.LibraryClassReader.visitLibraryClass(LibraryClassReader.java:99)上的[proguard]在proguard.classfile.LibraryClass.accept(LibraryClass。 java:248)[proguard]在proguard.io.ClassReader.read(ClassReader.java:86)[proguard]在proguard.io.FilteredDataEntryReader.read(FilteredDataEntryReader.java:87)[proguard]在proguard.io.JarReader中。在proguard.io.DirectoryPump.readFiles(DirectoryPump.java:65)讀取(JarReader.java:65)[proguard]在proguard.io.DirectoryPump.pumpDataEntries(DirectoryPump.java:53)上的[proguard]。 InputReader.readInput(InputReader.java:226)[proguard]位於proguard.InputReader.readInput(InputReader.java:200)[proguard]位於proguard.InputReader.readInput(In putReader.java:178)[proguard]在proguard.InputReader.execute(InputReader.java:100)[proguard]在proguard.ProGuard.readInput(ProGuard.java:195)[proguard]在proguard.ProGuard.execute(ProGuard。) java:78)[proguard] at proguard.ProGuard.main(ProGuard.java:499)mojoFailed com.pyx4me:proguard-maven-plugin:2.0.4(默認)

如果您的內存不足,則可能是您的代碼出了點問題,或者(首先嘗試執行此操作)您實際上是內存不足。 嘗試在構建選項中添加-Xmx參數,並為其提供更多內存。

感謝您的幫助和回復。 我想解決這個問題。 我需要在Proguard的配置部分中將其定義為pom的一部分。 這解決了我的問題。

Regards
Siddharth Shah

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM