MavenがProGuardで動作するようにしようとしています。Maven、Proguardとアセンブリの問題
私は何を達成したいことは以下の通りである。私のソースファイルにわたり
実行ProGuardのと生産難読化されたクラス
私はそれを実行できるように、メインクラスを参照するマニフェストファイルを作成します。 jarとして
すべての関連するライブラリjarをアンパックし、それらをすべて含む1つの巨大なjarを作成します。このファイルは、.classファイルと.xmlファイルにのみ接続する必要があります。
さまざまなREADME.txtファイルなどを含む.zipファイルとtar.gzファイルにそれらをアセンブルします。これまでのところ、私はこのような何かを持っている
:
<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>
しかし、私は何の喜びを持っていませんよ。誰も私にこれについての曖昧な指摘を与えることができますか?
事前のおかげで、 マット
@starblueである私のため
を働いていた設定です任意の '[assemblies]'コンセプト。しかし、 '[assembly]'は非常に有効なものです。だから、あなたのビジョンに合致しないすべてのものを除いて、ユニークなドメインのタグと同じように行動しないようにしてください。タグはセット用であり、より多くの制約を加える。 Mavenにも当てはまるタグを使用することを禁じてはいけません。これは厄介なことです。 –
http://maven.apache.org/plugins/maven-assembly-plugin/:このプラグインは「アセンブリ」を生成します。 – starblue