在Java 6下尝试sbt compile
我的项目的一个分支ENSIME(如果您有兴趣进行实验)会给出一个奇怪的编译器警告:
[info] Compiling 48 Scala sources to /home/fommil/Projects/ensime-server/target/scala-2.11/classes...
[error] Class java.lang.invoke.MethodHandle not found - continuing with a stub.
[error] two errors found
[error] (compile:compile) Compilation failed
[error] Total time: 18 s, completed 03-Sep-2014 22:57:44
它适用于Java 7。
调用last
只会显示编译的类路径(这相当于设置--debug
级别)。
我已从项目中删除了所有插件,问题仍然显示。
如果我删除所有代码 - 只留下构建系统和依赖项 - 使用一些存根scala入口点,那么就没有问题。
但是,我无法将我的源代码文件一分为二,因为它不会编译。
编译代码时,MethodHandle的grep(包括二进制文件)不会给出任何命中(尽管测试资源中有一个jdk8文件,但它不相关,因为如果删除它就会出现问题)
只有一个(大)补丁引起了问题(之前的提交编译好了)。
答案 0 :(得分:0)
事实证明,这是因为拉入Lucene,这需要Java 7。
来自sbt
的一些史诗消息失败了:似乎没有办法让它输出任何合理的信息。