ProGuard是否适用于JavaEE 6应用程序?

时间:2011-11-09 20:35:01

标签: java-ee java-ee-6 proguard

我正试图让Proguard混淆一个简单的.war文件。根据文档Proguard处理.war文件,但是当我尝试时我得到了这个:

Warning: class [WEB-INF/classes/com/corp/gr/t2b/T2BChannel.class] unexpectedly contains class [com.corp.gr.t2b.T2BChannel]

文档提到了一些关于Proguard并不喜欢带有WEB-INF / classes目录中的类的.war文件的内容。所以我将所有.class文件放在WEB-INF / lib中的.jar文件中。

然后Proguard抱怨它找不到任何JavaEE 6类,即使我已经给它带了

的javaee.jar文件
-libraryjars C:/bin/glassfish-3.0.1/.../lib/javaee.jar

所以我解析了javaee.jar文件中的所有条目MANIFEST.MF并添加了多个

-libraryjars C:/bin/glassfish-3.0.1/.../modules/javax.servlet.jar

语句。

Proguard表示它正在读取各种库jar,然后滚动成千上万的“库类重复定义”消息和其他一些消息。 (消息未被记录,因此它们只是滚动屏幕。)在所有这些消息结束时,它完成

Note: there were 965 duplicate class definitions.
Warning: there were 816 classes in incorrectly named files.

还有数百个(或数千个 - 我无法分辨 - 因为这些不能重定向到文件)形式的警告

 Warning: class [1.0/org/apache/xml/resolver/tools/ResolvingXMLReader.class] unex
pectedly contains class [org.apache.xml.resolver.tools.ResolvingXMLReader]

所以Proguard似乎无法处理JavaEE 6库。

有没有人让Proguard使用JavaEE 6应用程序?您需要做些什么才能使它与JavaEE 6库一起使用?

0 个答案:

没有答案