2009-10-19 6 views
1

내 응용 프로그램 jar에는 java 1.5 용 무료 레이아웃 관리자가 포함 된 swing-layout.jar의 클래스가 들어 있습니다. 난독 화 과정에서 나는 그런Proguard obfuscate Fat jar

 
[proguard] Note: org.jdesktop.layout.SwingLayoutStyle accesses a field 'INDE 
NT' dynamically                
[proguard]  Maybe this is program field 'org.jdesktop.layout.LayoutStyl 
e { int INDENT; }' 

혼자 수업을 org.jdesktop 떠나 난독 싶습니다, 그리고 내가

 
     -keeppackagenames org.jdesktop.* 

을 시도 경고 제거로 경고를 많이 얻을 수 있지만 작동하지 않았다 ?

답변

2

당신은 내가 생각하기에, 원하는,

-keep org.jdesktop.** 

주 두 개입니다. documentation에서 :

* matches any part of a name not containing the package separator or directory separator. 
** matches any part of a name, possibly containing any number of package separators or directory separators. 

-keeppackagenames은 ... 패키지 이름을 유지! -keep을 원하면 의 패키지 이름을 패키지로 보호하십시오.

+0

질문을했지만 ** 후에 동일한 오류 메시지가 나타납니다. –

+0

오 ... 당신은 - 키프가 아니라 -keeppackagenames를 원합니다. 이것을 반영하도록 편집했습니다. –

9

오래된 질문,하지만

-keep org.jdesktop.**

난독 4.6 여기에 작동하지 않았다 - 필요 추가 : 누군가가 내가했던 것처럼이 질문을 통해 실수를 한단다

-keep class org.jdesktop.**

단지의 경우 .