Próbuję zmusić Mavena do pracy z ProGuardem.Problemy z Mavenem, Proguardem i montażem
Co chcę osiągnąć jest następujące:
Run ProGuard nad moimi plikami źródłowymi i produkują ukrywane klas
Utwórz plik manifestu, który odwołuje główne klasy tak, że można ją wykonać jako słoik
Rozpakuj wszystkie powiązane słoiki z bibliotekami i utwórz jeden ogromny słoik zawierający je wszystkie. Ten plik powinien tylko kontaktować się z plikami .class i .xml.
Złóż je do plików .zip i tar.gz, które zawierają różne pliki README.txt i tak dalej.
Do tej pory mam coś takiego:
<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>
ale mam żadnej radości. Czy ktoś może mi podać jakieś niejasne wskazówki?
Dzięki z góry, Matt
@starblue Maven nie ma każdą koncepcję "[złożeń]". Jednak "[assembly]" jest bardzo ważnym. Więc przestań się zachowywać jak tagi dla unikalnych domen, wyłączając wszystko, co nie pasuje do twojej wizji ich użycia. Tagi są ustawione, dodaj więcej ograniczeń. Nie zabraniaj mi używania tagu, który dotyczy także Mavena. To jest denerwujące denerwujące. –
http://maven.apache.org/plugins/maven-assembly-plugin/: Ta wtyczka generuje "złoŜenia". – starblue