javax.inject.Provider上的Proguard NoClassDefFoundError

时间:2019-12-05 10:41:12

标签: java proguard proguard-maven-plugin

我正在尝试使用Proguard通过Maven插件来缩小我的jar大小。我的配置文件如下:

-libraryjars <java.home>/jmods/java.base.jmod
-libraryjars <java.home>/jmods/java.net.http.jmod
-libraryjars <java.home>/jmods/jdk.httpserver.jmod

-keep public class * {
    public protected *;
}
-keepclasseswithmembernames,includedescriptorclasses class * {
    native <methods>;
}

-dontwarn javax.servlet.**
-dontnote jdk.internal.**
-dontnote org.codehaus.**

它可以编译,但是我在执行时遇到了这个异常:

  

线程“主”中的异常java.lang.NoClassDefFoundError:javax / inject / Provider           在fr.enedis.ccma.iam.iavenir.main.IAvenirApplication.main(IAvenirApplication.java:14)   引起原因:java.lang.ClassNotFoundException:javax.inject.Provider

当我添加

  

-libraryjars {my_folder} /javax.inject-1.jar

对于我的配置文件,构建失败

  

相同的输入jar [{my_folder / javax.inject-1.jar]被指定两次。

关于我所缺少的任何想法吗?

预先感谢

0 个答案:

没有答案