2012-07-12 3 views
0

ProGuard for Obfuscation을 사용하여 Hudson에서 내 maven 프로젝트를 빌드하려고합니다. 난 그냥 Obfuscation 목표를 실행하고 ProGuard의 최적화 기능을 생략하고 있습니다.ProGuard에서 Maven을 사용하여 Java 애플리케이션을 빌드하는 동안 OutOfMemoryException

이 문제는 허드슨에서 프로젝트를 빌드 할 때만 발생하지만 이클립스를 사용하여 내 컴퓨터에서 동일한 프로젝트를 빌드하거나 명령 프롬프트에서 성공적으로 빌드하면이 문제가 발생합니다.

허드슨에서 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

+0

stacktrace를 게시 하시겠습니까? – aviad

+0

해결책은 여기에서 찾아 낼 수있다 : http://stackoverflow.com/questions/19387801/how-do-i-allocate-more-memory-to-proguard-with-the-proguard-maven-plugin –

답변

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). –

+0

친구에게 와서 답을 추가해야합니다. – Android

관련 문제