首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用allatori混淆时,maven构建失败

使用allatori混淆时,maven构建失败
EN

Stack Overflow用户
提问于 2017-06-27 18:28:45
回答 1查看 838关注 0票数 0

我已经使用antrun-plugin maven plugin启用了模糊处理。我的allatori-config.xml文件中没有keep-names

代码语言:javascript
复制
<config>
 <keep-names>
 </keep-names>
  <jars>
    <jar in="${obf.jar}" out="${obf.jar}"/>
  </jars>
  <property name="log-file" value="target/allatori-log.xml"/>
</config>

下面是我的maven插件配置:

代码语言:javascript
复制
   <plugin>
         <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-antrun-plugin</artifactId>
           <version>1.6</version>
           <executions>
             <execution>
              <phase>package</phase>
               <id>obfuscate2</id>
                <configuration>
                 <target unless="${obfuscation.skip}">
                   <echo message="running allatori"/>
                   <property name="obf.jar" value="target/XYZ-${project.version}.jar"/>
                   <property name="runtime_classpath" refid="maven.runtime.classpath"/>
                   <taskdef name="allatori" classname="com.allatori.ant.ObfuscatorTask" classpath="${env.ALLATORI_LIB}/allatori.jar:${runtime_classpath}"/>
                   <allatori config="${basedir}/allatori-config.xml"/>
                 </target>
               </configuration>
               <goals>
                 <goal>run</goal>
               </goals>
             </execution>
          </executions>
       </plugin>

我有两个模块(比如A和B),我想对它们执行模糊处理。现在,模块A被成功混淆,但是模块B(依赖于模块A)无法编译,因为“找不到符号”或“包com.mycomp.xyz.schema不存在”(其中这些包属于模块A)。

是不是这样,如果一个后来使用的模块首先被混淆,那么依赖的模块就无法获得依赖关系,或者我遗漏了什么?

EN

回答 1

Stack Overflow用户

发布于 2017-08-03 19:55:47

因此,它说它找不到包,这是非常明显的原因。包及其内容已经被混淆了。解决方案是将那些被引用的对象放在<keep-names>中,这样它们就不会被混淆。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44778011

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档