Ich benutze Maven und das maven-war-plugin um meinen WAR zu erstellen. Alle JSPs werden mit dem jspc-maven-plugin vorkompiliert und alle Klassen werden in ein JAR (WEB-INF/lib) gestellt. Bis jetzt funktioniert alles gut. Jetzt versuche ich das Proguard-Maven-Plugin zu konfigurieren, um meinen Code zu verschleiern.Wie man eine Webapp mit Maven und ProGuard verschleiert
Zuerst habe ich versucht, alle Klassen während der Kompilierphase zu verschleiern, aber dann bekomme ich Probleme beim Kompilieren der JSPs. Ich habe einige Beispiele gefunden, in denen die Paketphase definiert ist. Aber in diesem Fall weiß ich nicht, wie ich meine JAR-Datei ansprechen soll, die schon in den WAR verpackt ist. Schließlich versuchte ich einfach, meinen WAR als <injar> mywebapp.war </injar > einzustellen. Aber das funktioniert auch nicht. Was vermisse ich?
<plugin>
<groupId>com.pyx4me</groupId>
<artifactId>proguard-maven-plugin</artifactId>
<version>2.0.4</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>proguard</goal>
</goals>
</execution>
</executions>
<configuration>
<obfuscate>true</obfuscate>
<includeDependency>false</includeDependency>
<injar>${project.artifactId}-v${project.version}.war</injar>
<outjar>${project.artifactId}-v${project.version}-obf.war</outjar>
<outputDirectory>${project.build.directory}</outputDirectory>
<maxMemory>256m</maxMemory>
<libs>
<!-- Java Runtime -->
<lib>${java.home}/../Classes/classes.jar</lib>
<lib>${java.home}/../Classes/jce.jar</lib>
</libs>
<options>
<option>-allowaccessmodification</option>
<option>-dontskipnonpubliclibraryclasses</option>
<option>-dontskipnonpubliclibraryclassmembers</option>
</options>
</configuration>
</plugin>
Haben Sie irgendwelche Hinweise, Beispiele, um dies zu tun?
Vielen Dank! David
Könnten Sie uns mehr Informationen über den Fehler geben, den Sie bekommen haben? – Jcs