我无法从任何论坛或通过邮寄 JarJar 的开发人员获得有关此问题的任何信息,因此我决定使用我正在使用的解决方法来回答这个问题:
例如,以下build.xml文件包含另一个test.txt内联文件的内容。我使用标签导入文本文件include_this(这是我的名字 - 你可以在这里使用任何名字):
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE project [
<!ENTITY include_this SYSTEM "test.txt">
]>
<project name="Test" default="build" >
<target name="build" >
&include_this;
</target>
</project>
在这个简单的例子中,test.txt文件的内容是:
<echo>This is a test.</echo>
所以我一直在使用这个解决方法来替换jarjar调用中的规则。将规则放入test.txt文件中:
<rule pattern="com.**" result="${project.output}.com.@1" />
<rule pattern="org.**" result="${project.output}.org.@1" />
然后我的jarjar电话变成:
<!-- jarjar uses the same syntax as the jar task -->
<jarjar destfile="${jarjar.output.dir}/${project.output}.jar" >
<!-- source files -->
<zipfileset src="${jar.output.dir}/${project.output}.jar" />
<!-- refactoring rules -->
&include_this;
</jarjar>