Ich versuche, Maven mit ProGuard arbeiten zu lassen.Maven, Proguard und Assembly Probleme
Was ich will, erreichen, ist die folgende:
Run ProGuard über meine Quelldateien und produzieren Klassen verschleierten
Erstellen Sie eine Manifest-Datei, die die Hauptklasse verweist, so dass ich es ausführen kann als ein Glas
Entpacken Sie alle zugehörigen Bibliotheksgläser und erstellen Sie ein riesiges Glas, das sie alle enthält. Diese Datei sollte nur mit .class- und .xml-Dateien in Kontakt kommen.
Assemblieren Sie sie in. Zip-und tar.gz-Dateien, die verschiedene README.txt-Dateien und so weiter enthalten.
Bisher habe ich so etwas wie dieses bekam:
<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>
Aber ich bin keine Freude haben. Kann mir jemand dazu einen ungefähren Hinweis geben?
Vielen Dank im Voraus, Matt
@starblue Maven nicht irgendein '[Baugruppen]' Konzept. "[Assembly]" ist jedoch ein sehr gültiger. Hören Sie also auf, sich so zu benehmen, als seien die Tags für eindeutige Domains, und schließen Sie alles aus, was nicht mit Ihrer Vision der Nutzung übereinstimmt. Tags dienen zum Festlegen, fügen weitere Einschränkungen hinzu. Verbiete mir nicht, einen Tag zu benutzen, der auch für Maven gilt. Das ist verdammt nervig. –
http://maven.apache.org/plugins/maven-assembly-plugin/: Dieses Plugin erzeugt "Assemblies". – starblue