mehrad
mehrad

Reputation: 11

proguard assembly not work correctly, it detects all artifacts but uses classes directory instead of jar file

I have multi module maven project and need to obfuscate code. I'm using proguard-maven-plugin with this configuration.

<plugin>
    <groupId>com.github.wvengen</groupId>
    <artifactId>proguard-maven-plugin</artifactId>
    <version>2.5.3</version>
    <executions>
        <execution>
            <phase>package</phase>
            <goals>
                <goal>proguard</goal>
            </goals>
        </execution>
    </executions>
    <configuration>
        <proguardInclude>proguardOption.conf</proguardInclude>
        <obfuscate>true</obfuscate>
        <outjar>output</outjar>
        <putLibraryJarsInTempDir>true</putLibraryJarsInTempDir>
        <assembly>
            <inclusions>
                <inclusion>
                    <groupId>com.group.test</groupId>
                    <artifactId>*</artifactId>
                </inclusion>
            </inclusions>
        </assembly>
        <libs>
            <lib>${java.home}/jmods/java.base.jmod</lib>
            <lib>${java.home}/jmods/java.management.jmod</lib>
            <lib>${java.home}/jmods/java.rmi.jmod</lib>
            <lib>${java.home}/jmods/java.sql.jmod</lib>
            <lib>${java.home}/jmods/java.xml.jmod</lib>
        </libs>
    </configuration>
</plugin>

after packaging some of jar files doesn't exist in output directory. when proguard read target directory of modules it read classes directory instead of jar file.

Upvotes: 1

Views: 205

Answers (0)

Related Questions