我的jar文件中有一些属性文件,例如log4j.properties和config.properties。以下是我的Yguard的蚂蚁脚本。其他一切都在起作用,但是属性文件更新。
<target name="yguard">
<taskdef name="yguard" classname="com.yworks.yguard.YGuardTask" classpath="lib/yguard.jar" />
<yguard>
<inoutpairs resources="none">
<fileset dir="${basedir}">
<include name="MyApp.jar" />
</fileset>
<mapper type="glob" from="MyApp.jar" to="MyAppObs.jar" />
</inoutpairs>
<externalclasses>
<pathelement location="lib/log4j-1.2.17.jar" />
</externalclasses>
<rename conservemanifest="true" mainclass="com.amit.Application" >
<adjust replaceContent="true" >
<include name="**/*.properties" />
</adjust>
</rename>
</yguard>
</target>
config.properties文件
com.amit.Application.param1 = something
我在Stackoverflow中发现了一些问题,但它们没有帮助。提到的一个地方是我已经拥有的文件(例如JSP,XML,属性)应在JAR文件中。但是我的Yguard混淆文件只需将文件按原样复制。
我尝试了许多重命名&amp;调整标签,但对我无效。
发布后,我已经访问过
是否可以通过yguard混淆来管理日志?
如何将混淆的JAR文件包括在战争文件中
显然您希望Yguard混淆字段param1
的名称,因为com.amit.Application
显然是您的入口点,而Yguard则自动排除了给定的主类。因此,基本上您希望结果像
com.amit.Application.AÖÜF = something
这是不可能的,因为yguard只能在属性文件中调整类名称,如下所在:yguard手册