【问题标题】:Proguard warning for Java classes using OpenJDK使用 OpenJDK 的 Java 类的 Proguard 警告
【发布时间】:2018-10-22 09:39:54
【问题描述】:

当我使用 openJDK 而不是 Java JRE 时,

-libraryjars 'C:\Program Files\Java\jdk-11.0.1\lib'

它给出无法找到 Java 类的警告。 有没有办法解决这个问题?

示例:

[proguard] 警告: org.eclipse.jface.operation.IRunnableWithProgress:找不到 超类或接口 java.lang.Object [proguard] 警告: org.eclipse.jface.preference.IPreferenceStore:找不到超类 或接口 java.lang.Object [proguard] 警告: org.eclipse.jface.resource.ImageRegistry:找不到超类或 接口 java.lang.Object [proguard] 警告: org.eclipse.jface.resource.JFaceResources:找不到超类或 接口 java.lang.Object [proguard] 警告: org.eclipse.jface.text.IDocument:找不到超类或接口 java.lang.Object

[proguard] 警告: javaclass:找不到 引用类 java.lang.String [proguard] 警告: javaclass:找不到 引用类 java.lang.String

注意: -ignorewarnings 没有帮助,因为它会产生有关接口的错误

谢谢!

【问题讨论】:

    标签: java proguard


    【解决方案1】:

    我发现 Proguard 还不支持 openJDK 11。 我使用了 openJDK 10.0.2,在库 jar 中我指定了 jmods 文件夹的路径而不是 libs

    -libraryjars 'C:\Program Files\Java\jdk-10.0.2\jmods'

    谢谢!

    【讨论】:

      【解决方案2】:

      -libraryjars 选项指定类路径,即可以找到 .class 文件的位置。要么是包含这些 .class 文件的目录,要么是包含 .class 文件的 jar(或其列表)。要引用运行时,请指定构成它(以及您有效使用的)的 .jar 文件列表。

      【讨论】:

      • 您好,该位置包含包含类文件的 JDK 的 jrt-fs.jar。但似乎找不到 Java.lang.String 或其他类。
      • 如果您提供目录名称,系统将不会检查那里的任何 jar。您必须明确地命名它们,或者可能使用 .jar 隐含地命名它们,如 -libraryjars /.jar.
      • 您好,我在下面添加了一个答案。感谢您的帮助!
      猜你喜欢
      • 2011-12-22
      • 1970-01-01
      • 2023-01-01
      • 1970-01-01
      • 2017-10-27
      • 1970-01-01
      • 1970-01-01
      • 2015-06-02
      • 1970-01-01
      相关资源
      最近更新 更多