Я пытаюсь заставить Maven работать с ProGuard.
Я хочу добиться следующего:
Запустите ProGuard над моими исходными файлами и создайте обфусцированные классы
Создайте файл манифеста, который ссылается на основной класс, чтобы я мог выполнить его как банку
Распакуйте все связанные библиотеки jar и создайте одну огромную jar, содержащую их все. Этот файл должен контактировать только с файлами .class и .xml.
Соберите их в файлы .zip и tar.gz, которые включают различные файлы README.txt и так далее.
Пока что у меня получилось что-то вроде этого:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.2</version>
<configuration>
<archive>
<manifest>
<mainClass>com.class.path.MainClass</mainClass>
</manifest>
</archive>
<includes>
<include>**/*.class</include>
<include>**/*.xml</include>
</includes>
</configuration>
</plugin>
<plugin>
<groupId>com.pyx4me</groupId>
<artifactId>proguard-maven-plugin</artifactId>
<configuration>
<options>
<option>-allowaccessmodification</option>
</options>
<obfuscate>true</obfuscate>
<injar>classes</injar>
<outjar>${project.build.finalName}.jar</outjar>
<outputDirectory>${project.build.directory}</outputDirectory>
<proguardInclude>src/main/assembly/proguard.conf</proguardInclude>
<libs>
lib/rt.jar</lib>
</libs>
</configuration>
<executions>
<execution>
<phase>process-classes</phase>
<goals>
<goal>proguard</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<executions>
<execution>
<id>assembly</id>
<phase>package</phase>
<goals>
<goal>assembly</goal>
</goals>
<configuration>
<descriptors>
<descriptor>
src/main/assembly/bin.xml
</descriptor>
</descriptors>
</configuration>
</execution>
</executions>
</plugin>
Но у меня нет радости. Может ли кто-нибудь дать мне какие-нибудь туманные указания по этому поводу?
Заранее спасибо, Мэтт
[assemblies]
концепции. Однако[assembly]
- очень верный. Поэтому, пожалуйста, перестаньте вести себя так, будто теги предназначены для уникальных доменов, исключая все, что не соответствует вашему видению их использования. Теги предназначены для установки, добавьте больше ограничений. Не запрещайте мне использовать тег, который применим и к Maven. Это чертовски раздражает. - person Pascal Thivent   schedule 02.08.2010