混淆依赖于战争的项目

时间:2018-02-14 08:27:26

标签: java spring maven proguard obfuscation

我想使用ProGuard(项目A)混淆项目(jar)。但是,这个项目依赖于另一场战争(项目B),并使用我在B中开发的一些类。 我使用了这个问题的解决方案:Build a jar from a maven project dependent on other project  但它没有用,当我使用命令 项目A上的dt1[.(urn = urn, end = date, start = date %m-% months(12)), on = .(urn, date <= end, date >= start), sum(amount), by = .EACHI] 我收到错误:

maven clean install -X

error: cannot find symbol

我怎样才能混淆这个罐子?

修改1

在项目A的POM中我有:

  1. 我的战争依赖:

    error: package com.example does not exist
    
  2. 构建部分中的
  3. <dependency>
        <groupId>com.example</groupId>
        <artifactId>myWarProject</artifactId>
        <version>1.0.0-BUILD-SNAPSHOT</version>
    </dependency>
    
  4. 在项目B中,我有:

       <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-shade-plugin</artifactId>
            <executions>
                <execution>
                    <phase>package</phase>
                    <goals>
                        <goal>shade</goal>
                    </goals>
                    <configuration>
                        <finalName>DeviceListener</finalName>
                        <transformers>
                            <transformer
                                implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                                <manifestEntries>
                                    <Main-Class>com.example.main.Main</Main-Class>
                                    <Build-Number>1</Build-Number>
                                </manifestEntries>
                            </transformer>
                        </transformers>
                    </configuration>
                </execution>
            </executions>
        </plugin>
    

1 个答案:

答案 0 :(得分:0)

我的意思是创建一个类似于war项目的类的jar:

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-war-plugin</artifactId>
            <version>3.0.0</version>
            <configuration>
                <attachClasses>true</attachClasses>
                <archiveClasses>true</archiveClasses>
            </configuration>
        </plugin>
    </plugins>
</build>

这会生成一个补充jar文件,其中包含war项目的类,可以用作依赖项(不要忘记定义分类器)。

你需要改变你的依赖关系:

<dependency>
    <groupId>com.example</groupId>
    <artifactId>myWarProject</artifactId>
    <version>1.0.0-BUILD-SNAPSHOT</version>
    <classifier>classes</classifier>
</dependency>