类路径不起作用

时间:2012-03-15 11:36:16

标签: java compiler-errors classpath

我的项目需要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

我真的不明白这里发生了什么,因为我不是编写代码的人。我错过了什么?

2 个答案:

答案 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文件夹中的类文件。您无法在运行时修复该问题,您已修复项目以创建正确编译的类。