我的项目需要gif4j套件。所以我在控制面板的环境变量窗口中将类路径设置为“C:... \ gif4j_pro_trial_2.3.jar”。我知道当我们为classpath提供多个值时,你用一个分号分隔它们。我也这样做了。但是当我运行该文件时,我仍然收到此错误。
Exception in thread "AWT-EventQueue-0" java.lang.Error: Unresolved compilation problems:
The import com.gif4j.TextPainter cannot be resolved
The import com.gif4j.Watermark cannot be resolved
我真的不明白这里发生了什么,因为我不是编写代码的人。我错过了什么?
答案 0 :(得分:1)
此错误并未说明无法在运行时中找到gif4j类。相反,它说,当代码编译时,这些类是不可用的。 javac
不会产生这些类型的错误(相反它只是无法编译),所以我假设这个代码是由Eclipse编译的。在这种情况下,您应该检查Eclipse项目配置并确保gif4j库正确包含在那里。
答案 1 :(得分:1)
throw new Error(..()
语句已由eclipse创建。每当eclipse因为方法中的编译时错误而无法编译类时,它会尝试为这些方法创建存根。因此,即使源代码有错误,您也总是找到一个类文件。
这样的方法将看起来像(例子):
public long calculate(long a, long b) {
throw new Error("Unresolved compilation problems"); // + additional information
}
它实际上并不存在于您的源代码中,它只在字节代码级别创建。
所以,发生了什么:很可能你(或其他人)忽略了项目中的错误标记,现在尝试使用bin
文件夹中的类文件。您无法在运行时修复该问题,您已修复项目以创建正确编译的类。