10

当尝试将项目导出为.jar文件时,Eclipse 会抱怨在类路径中找不到某些文件:

找不到或无法访问类路径上的类文件:“proj/src/main/java/analysis/specification/VerifyVariableIsDefinedInsideTargetTerm.java”

现在,有趣的是,这些文件实际上已经很久没有在磁盘上存在了。我想我强迫 Eclipse 以某种方式刷新它的数据库。我尝试过 F5 进行完整构建,但似乎无济于事。我也尝试了此博客文章中描述的过程,但问题仍然存在。

4

3 回答 3

12

错误……其实我刚才就知道问题的原因了……</p>

所有引起问题的文件确实存在于项目中,但被注释掉了(因此,我没有在包资源管理器中看到它们,这是我通常使用的视图)。

删除它们后,一切正常。不过,我仍然不明白为什么他们会在 JAR 创建过程中引发错误……</p>

编辑: 这是一个注释掉的类的例子:

package a.b.c

//import java.io.Closeable;

//public class Example implements Closeable {
//    public void close() throws IOException {
//        System.out.println("closed");
//    }
//}

因为整个类都被注释掉了,所以没有Example.class创建。而如果类被这样注释掉:

package a.b.c

//import java.io.Closeable;

public class Example
//    implements Closeable
{
//    public void close() throws IOException {
//        System.out.println("closed");
//    }
}

anExample.class被创建,虽然是空的。

这可能是eclipse中的一个错误。如果您从 eclipse 中导出 ant 构建脚本并使用它,它会很好地创建 JAR。

于 2012-09-15T07:07:21.427 回答
2

这个问题我也遇到过。但是,我遇到的问题是我在 Eclipse 中遇到了 JRE 配置问题。

于 2013-09-26T08:55:21.817 回答
0

可能真正的问题是并非所有的类文件都在同一个地方……我的建议是将所有.java文件移动到同一个文件夹中,重新编译以制作.class文件,确保所有.class文件都在同一个文件夹中……然后,查看此网页,如果您在实际创建.jar.

该网站还假设您使用的是 Mac,但您仍然应该能够在 Windows 上使用命令提示符来使其工作。

于 2012-09-15T07:04:29.540 回答