Java sbt找不到com.google.inject

Java sbt找不到com.google.inject,java,sbt,testng,Java,Sbt,Testng,我试图运行基于TestNG的sbt项目,但运行它时出现错误 错误:scalac:加载ITestContext时出错,类文件“~.ivy2\cache\org.testng\testng\jars\testng-6.8.jarorg/testng/ITestContext.class”已损坏 类java.lang.NullPointerException/null 警告:找不到scalac:Class com.google.inject.Module-继续使用存根 我在依赖项树中没有看到com.g

我试图运行基于TestNG的sbt项目,但运行它时出现错误

错误:scalac:加载ITestContext时出错,类文件“~.ivy2\cache\org.testng\testng\jars\testng-6.8.jarorg/testng/ITestContext.class”已损坏 类java.lang.NullPointerException/null 警告:找不到scalac:Class com.google.inject.Module-继续使用存根


我在依赖项树中没有看到com.google.inject,也不知道如何手动添加它

您使用的是哪个版本的SBT?我在使用SBT版本0.13.1时也遇到了同样的问题。升级到0.13.5或0.13.6解决了我的NullPointerException问题

至于

[警告]找不到Class com.google.inject.Module-继续使用存根

我仍然不确定为什么会出现这种情况。对于我自己来说,它对我的测试类和主类都运行了7次,但不会阻止功能。

添加:

libraryDependencies ++= {
    "com.google.inject" % "guice" % "3+",
    "org.glassfish.hk2" % "custom-resolver-example" % "2+",
}

修复了这个问题,但我不确定它是否是一个好的解决方案。

SBT版本是0.13.6