我有一个使用 YFiles 库的基于 Eclipse 的应用程序。我想在我的代码中混淆 YFiles 并调整 YFiles 库的混淆类。
我正在通过触发 ant 脚本的 Maven 构建来执行这种混淆。我的蚂蚁脚本有混淆的逻辑。这看起来像——
<project name="obfuscate">
<target name="obf-modeler">
<taskdef name="yguard" classname="com.yworks.yguard.YGuardTask" classpath="./lib/yguard.jar" />
<yguard>
<inoutpair in="yfiles.jar" out="obfyfiles.jar" />
<inoutpair in="<my-app-jar>" out="<my-app-jar>" />
<rename replaceClassNameStrings="true">
<keep>
<class classes="private" methods="private" fields="private">
<patternset>
<include name="com.<my-company-name>." />
</patternset>
</class>
<package>
<patternset>
<include name="com.<my-company-name>." />
</patternset>
</package>
</keep>
<adjust replaceContent="true">
<include name="plugin.xml" />
</adjust>
</rename>
</yguard>
</target>
我正在混淆 Yfiles 和我的代码,以便 YFiles 混淆也包含在我的代码中。我还有一个关于类和包元素的模式集,告诉 YGaurd “不要混淆我的代码,只调整 YFiles 混淆更改”
不幸的是,如果我运行 maven 构建,一些具有某些返回类型的公共 YFiles 方法不会被混淆。例如—— y.base.NodeMap 类具有没有返回类型的混淆方法,其他返回某些内容的方法仍然具有旧的方法名称。
任何线索我的模式集中出了什么问题。另外,如果我删除了这个模式集,YFiles 混淆就没有问题了。但是,在我不想要的情况下,我的代码也会变得模糊。
感谢和问候阿比诺