Я пытаюсь заставить Proguard запутать простой файл .war. Согласно документации Proguard обрабатывает файлы .war, но когда я пытаюсь это сделать, я получаю следующее:
Warning: class [WEB-INF/classes/com/corp/gr/t2b/T2BChannel.class] unexpectedly contains class [com.corp.gr.t2b.T2BChannel]
В документах упоминается, что Proguard не нравятся файлы .war с классами в каталоге WEB-INF / classes. Поэтому я поместил все файлы .class в их собственный файл .jar в WEB-INF / lib.
Затем Proguard жалуется, что не может найти ни один из классов JavaEE 6, хотя я дал ему файл javaee.jar с
-libraryjars C:/bin/glassfish-3.0.1/.../lib/javaee.jar
Итак, я анализирую все записи в файле MANIFEST.MF из файла javaee.jar и добавляю каждую из них с кратным
.
-libraryjars C:/bin/glassfish-3.0.1/.../modules/javax.servlet.jar
отчетность.
Proguard указывает, что он читает различные библиотечные файлы, а затем прокручивает тысячи сообщений «дубликата определения класса библиотеки» и некоторых других сообщений. (Сообщения не регистрируются, поэтому они просто прокручиваются за пределы экрана.) В конце всех этих сообщений он заканчивается
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?