ProGuard-意外包含类

Wic*_*cia 2 obfuscation warnings class proguard

当我尝试在ProGuard中混淆简单的DataLoader.class文件时,出现此错误:

Reading program directory [C:\Users\uzytkownik\Documents\NetBeansProjects\ProTest\build\classes\Files\DataLoader.class]
Warning: class [DataLoader.class] unexpectedly contains class [Files.DataLoader]
Warning: there were 1 classes in incorrectly named files.
         You should make sure all file names correspond to their class names.
         The directory hierarchies must correspond to the package hierarchies.
         (http://proguard.sourceforge.net/manual/troubleshooting.html#unexpectedclass)
         If you don't mind the mentioned classes not being written out,
         you could try your luck using the '-ignorewarnings' option.
Please correct the above warnings first.
Run Code Online (Sandbox Code Playgroud)

这是项目:http : //www49.zippyshare.com/v/14668241/file.html

感谢您的帮助。

小智 10

Warning: class [META-INF/versions/9/module-info.class] unexpectedly contains class [module-info] 
Run Code Online (Sandbox Code Playgroud)

这是我遇到的问题,我尝试了下面提到的几个选项:

  1. -保持类模块信息
  2. -keepattributes 模块*
  3. -dontwarn 模块信息

对我有用的选项是 3。

不知道为什么,但它解决了我的问题,我能够制作罐子。

当您升级诸如我升级 spring-boot 版本之类的东西并且项目开始失败时,就会出现此问题。

请同时检查 Maven 依赖项。


Eri*_*une 5

随着期权-injars-libraryjars,你应该指定类的适当基本目录(或jar),就像类路径。在这种情况下:classes,不是classes\Files\DataLoader.class

请参阅ProGuard手册>故障排除> 警告:类文件...意外包含类...

  • 你能提供一个带有正确的基目录和输入 jar 的 `-injars` 示例吗?我在查看文档时没有找到任何示例 (2认同)