2

我正在使用 gradle 构建一个 groovy/java 应用程序。在我向 google 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 编译,但我看不到 gradle 提供给编译器的类路径。

任何想法如何让 gradle 编译我的应用程序?

4

1 回答 1

3

您已将 Guice 添加到运行时依赖项(即运行应用程序所需的依赖项,但不是编译它)。将其添加到编译依赖项中:

dependencies {
    ...
    compile 'com.google.inject:guice:3.0'
}

显然,编译依赖也是运行时依赖。

于 2012-09-27T11:20:53.270 回答