我会定期遇到"type [blah] cannot be resolved. It is indirectly referenced from required .class files"
错误,并寻求帮助。
我搜索了这个网站和网络,the many similar - sounding questions的所有内容似乎都是通过添加类来解决的类路径。但在这种情况下,我很确定他们已经在类路径上了。
这是一个非常大的元项目的情况。 ProjectOne和ProjectTwo有两个eclipse项目。
两个项目都由构建服务器发布到Ivy存储库,而ProjectTwo的ivy.xml引用了该版本的ProjectOne。但是,我保持常春藤“解析工作空间中的依赖关系”首选项,以便我可以在两个项目中工作,并解析为我修改的类而不是已发布的类。
ProjectOne在我的工作区中编译(与ProjectTwo一样,除了(偶尔)“间接引用所需的.class文件”问题。
结构看起来基本上是这样的:
// ProjectOne
class Enum { **// I now suspect this name is the problem**
public static class EnumObjectCache {
}
// ProjectTwo
class Bar { **// Occasionally gets error about Enum$EnumObjectcache being unresolvable**
}
尽管有以下事实:
问题一旦发生,就会持续多次'清理'并重启eclipse,IVY会重新解决。 (虽然我没有做常春藤清洁全部缓存)。
10。我可以通过从ProjectOne引入另外不必要的Enum导入来“解决”这个问题
注意:我以前没有尝试清理缓存,因为它的速度很慢(远程缓存是跨大西洋的,而且它是非常大项目):55分钟清理所有缓存并重新启动解决,然后另外20左右重建。
然而,在全面清理,重新解析和重建之后,我仍然遇到同样的问题。