当尝试将项目导出为.jar文件时,Eclipse会抱怨在类路径中找不到某些文件:
Class files on classpath not found or not accessible for: ‘proj/src/main/java/analysis/specification/VerifyVariableIsDefinedInsideTargetTerm.java’
现在,有趣的部分是这些文件实际上并没有存在于磁盘上.我想我必须以某种方式迫使Eclipse刷新其数据库.我已经尝试了F5,并且完全构建,但似乎没有用.我也尝试了在this blog post描述的程序,但问题依然存在.
解决方法
我实际上是在几分钟前就解决了这个问题的原因.
所有提出问题的文件实际上存在于项目中,但已被注释掉(因此,我没有在包资源管理器中看到它,这是我一般使用的视图).
删除它们后,一切顺利.我仍然不明白为什么会引起JAR创建过程中的错误.
编辑:
这是一个注释类的例子:
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"); // } }
然后创建Example.class,尽管为空.
这可能是日食中的一个bug.如果从eclipse导出ant构建脚本并使用它,它会创建该jar.