0

我有 jar 文件,其中包含一些属性文件,例如 log4j.properties 和 config.properties。以下是我为 yguard 编写的 ant 脚本。除了属性文件更新之外,其他一切都在工作。

<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 混淆文件只是按原样复制文件。

我尝试了许多重命名和调整标签的组合,但对我没有任何效果。

在我已经访问过的帖子之后

是否可以使用 yGuard 通过混淆来管理日志?

如何将混淆的 jar 文件包含到 war 文件中

4

1 回答 1

0

显然您希望 yGuard 混淆字段的名称param1,因为com.amit.Application显然是您的入口点,并且 yGuard 会自动排除给定的主类。所以基本上你希望结果是这样的

com.amit.Application.AÖÜF = something

这是不可能的,因为 yGuard 只能调整属性文件中的类名,如下所述:yGuard Manual

于 2014-01-24T16:17:58.097 回答