我最近尝试从Scala 2.9升级到2.10并遇到以下困难:
我有两个scala eclipse-plugin项目。第一个在它的构建路径上有一些非托管库。这个项目编译并运行良好。
第二个项目依赖于第一个项目和一些通过eclipse-plugin依赖项配置的Java项目。
这里我得到四个不太有用的编译错误。以下三次
SBT builder crashed while compiling. The error message is 'bad symbolic reference. A signature in XSBInterRunner.class refers to term interprolog in value com.declarativa which is not available. It may be completely missing from the current classpath, or the version on the classpath might be incompatible with the version used when compiling XSBInterRunner.class.'. Check Error Log for details. de.wwu.sdpn.wala Unknown Scala Problem
另外另一个转储类路径实际上不包含相应的库。
如果我手动将缺少的库添加到第二个项目,则不再找到第一个项目。即使它之前是在转储的类路径上。
当使用或多或少的等效设置从命令行通过SBT编译项目时,一切正常。
我还尝试重新配置依赖关系,不使用eclipse-plugin机制进行依赖关系管理,而是直接将其他项目添加到构建路径中,但这也无济于事。将项目重新导入干净的工作空间也无济于事。
Eclipse 4.2和4.3上的3.0.1和scala-ide插件的每晚版本都存在问题。
知道如何解决这个问题吗?有没有办法找出类路径中缺少库的原因?
答案 0 :(得分:0)
从描述中看,非托管库看起来不是从第一个项目导出的。验证在project properties > Java Build Path > Order and Export
中,选中库旁边的复选框。需要让罐子对其他项目可见。