与多版本罐子的proguard

时间:2018-04-15 14:34:51

标签: proguard log4j2 java-9

运行混淆时出现以下错误  [proguard]警告:类[META-INF / versions / 9 / org / apache / logging / log4j / util / ProcessIdUtil.class]意外地包含类[org.apache.logging.log4j.util.ProcessIdUtil]

看起来像proguard内省到META-INF文件夹并试图处理在该目录中找到的类

虽然我添加了行-libraryjars log4j-api-2.10.0.jar(适用于所有log4j jar),但仍然会发生这种情况

这在proguard版本6.0.2中发生

2 个答案:

答案 0 :(得分:5)

ProGuard只能处理单个版本的代码。如果您使用-injars-libraryjars指定的jar包含多个版本,则可以过滤掉其他版本,例如

-injars log4j-api-2.10.0.jar(!META-INF/versions/**)

答案 1 :(得分:0)

这是known Bug。它将在2.2.1内修复。

请不要过滤版本化的jar,因为这会停用这些jar的proguard。