有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

枚举类上出现maven错误的java ProGuard

我试图用ProGuard混淆我服务器的插件,但我不能混淆enum类。他们不断地丢失信息

enum类是这样的:

public enum PasswordType
{
    XAUTH(xAuth.class);

    Class<?> classe;

    private PasswordType(Class<?> authClass)
    {
        this.classe = authClass;
    }

    public PasswordMethod getInstance()
    {
        try
        {
            return (PasswordMethod) this.classe.newInstance();
        } catch (InstantiationException | IllegalAccessException e)
        {
            e.printStackTrace();
        }
        return null;
    }
}

我的配置是:

<options>
    <option>-keep class com.ehaqui.ehlogin.EhLoginPlugin</option>
    <option>-dontshrink</option>
    <option>-dontoptimize</option>
    <option>-dontusemixedcaseclassnames</option>
    <option>-keepattributes Exceptions,InnerClasses,Signature,Deprecated,SourceFile,LineNumberTable,LocalVariable*Table,*Annotation*,Synthetic,EnclosingMethod,EventHandler,Override</option>
</options>

但是当我构建项目时,枚举值XAUTH(XAUTH.class)消失,插件无法正确运行

显示:java。lang.IllegalArgumentException:com。艾哈基。登录。e、 b不是枚举类型

我该怎么解决这个问题


共 (1) 个答案

  1. # 1 楼答案

    我想我找到了

    -keep class com.ehaqui.ehlogin.security.PasswordType {*;}