我正在使用gradle构建一个groovy / java应用程序。 这工作正常,直到我添加了谷歌guice 3.0的依赖。 Gradle不会将guice jar添加到编译类路径中,至少看起来如此。 我得到这样的错误:
C:\dev\workspaces\initial>gradle -q compileJava
C:\dev\workspaces\initial\src\main\java\com\comp\test\solmon\di\GuiceDI.java:3: package com.google.inject does not exist
import com.google.inject.Guice;
^
C:\dev\workspaces\initial\src\main\java\com\comp\test\solmon\di\GuiceDI.java:4: package com.google.inject does not exist
import com.google.inject.Injector;
在我的build.gradle文件中,我有以下依赖项:
dependencies{
runtime 'com.beust:jcommander:1.27'
runtime "org.slf4j:slf4j-api:1.7.1"
runtime "ch.qos.logback:logback-classic:1.0.7"
runtime 'com.google.inject:guice:3.0'
testRuntime 'junit:junit:4+'
}
我正在使用其gradle插件在Springsource Tool Suite 2.9.2中开发应用程序,它使用gradles依赖关系管理来获取所有依赖项。 Sts设法编译代码很好,它只是gradle失败。 我试图使用“--debug”参数运行gradle编译,但是我无法看到哪个classpath gradle给编译器。
如何让gradle编译我的应用程序?
答案 0 :(得分:3)
您已将Guice添加到运行时依赖项(即运行应用程序所需的依赖项,但不是编译它)。将它添加到编译依赖项:
dependencies {
...
compile 'com.google.inject:guice:3.0'
}
显然,编译依赖项也是运行时依赖项。