Tôi đang cố gắng để Maven làm việc với ProGuard.Các vấn đề về Maven, Proguard và assembly
Những gì tôi muốn đạt được là sau:
Run ProGuard qua các tập tin nguồn của tôi và tạo ra lớp obfuscated
Tạo một file manifest tham chiếu đến các lớp học chính vì vậy mà tôi có thể thực hiện nó như một cái bình
Giải nén tất cả các lọ thư viện liên quan và tạo một cái lọ lớn chứa tất cả chúng. Tệp này chỉ nên liên hệ với các tệp .class và .xml.
Lắp ráp chúng thành tệp .zip và tar.gz bao gồm các tệp README.txt khác nhau, v.v.
Cho đến nay tôi đã có một cái gì đó như thế này:
<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>
Nhưng tôi không có niềm vui. Bất cứ ai có thể cho tôi bất kỳ con trỏ mơ hồ về điều này?
Cảm ơn trước, Matt
@starblue Maven không có bất kỳ khái niệm '[assembly]' nào. Tuy nhiên, '[assembly]' là một cái rất hợp lệ. Vì vậy, vui lòng ngừng hoạt động như các thẻ dành cho các tên miền duy nhất, loại trừ mọi thứ không khớp với tầm nhìn của bạn về việc sử dụng chúng. Thẻ dành cho bộ, thêm nhiều ràng buộc hơn. Đừng cấm tôi sử dụng thẻ cũng áp dụng cho Maven. Điều này là khó chịu gây phiền nhiễu. –
http://maven.apache.org/plugins/maven-assembly-plugin/: Plugin này tạo "hội đồng". – starblue