当前位置: 首页 > 知识库问答 >
问题:

为什么Gradle的java编译类路径不包含指定的依赖项

纪畅
2023-03-14

我正在使用gradle构建一个groovy/javahtml" target="_blank">应用程序。在我向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;

在我的身材中。gradle file I具有以下依赖项:

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+'
}

我正在使用Springsource工具套件2.9.2及其gradle插件开发应用程序,它使用gradles依赖关系管理来获取所有依赖关系。Sts能够很好地编译代码,只有gradle失败了。我试图用“-debug”参数运行gradle编译,但我看不出gradle给编译器的类路径。

有什么想法如何让gradle编译我的应用程序吗?

共有1个答案

杭永安
2023-03-14

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

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

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

 类似资料:
  • 我有一个jar,build-plugins.jar和一个gradle插件,它是用build.gradle中的这个插件构建的: 这将构建build-plugins.jar。并且使用插件的项目按文件引用插件jar 问题是当我运行第二个项目的任何任务时,我得到的是“class proxy created for class XYZ”,根本原因是四个依赖项(joda-time、commons-io、str

  • 问题内容: 想知道不指定classpath选项时默认的classpath是什么吗? 问题答案: 当前的工作目录()。 从Java™教程中:PATH和CLASSPATH: 类路径 的 默认值为“。” ,表示仅搜索当前目录。指定CLASSPATH变量或-cp命令行开关将覆盖此值。 这包括子目录吗? 不,在类路径中没有条目是“递归的”。您必须明确列出每个子目录(或jar)。但是,如果您有一个表示clas

  • 问题内容: 是否可以在Gradle(在Android Studio中)中指定对当前项目边界之外的另一个gradle项目的依赖关系?例如,相对路径如下所示: 所以我想的是这样的: 我有一个Android应用程序。结构如下: MyApp(路径为/ Users / foo / workspace / MyApp) 应用程序(路径为/ Users / foo / workspace / MyApp / a

  • 问题内容: 为什么我应该(或不应该)将gradle依赖项包含为, 有什么好处/缺点? 如您所见,我在支持它的下面的库中添加了@aar。但是一切似乎都还没有做完… 问题答案: 在大多数情况下,您可以使用或上载多种格式的库。 如果不指定后缀,则将以其默认格式(由作者定义,如果不是,则以默认格式)以及所有依赖项下载该库。 指定后缀时,将强制以指定的格式(可能存在或可能不存在)下载库。这很有用,例如当作者

  • 我正在使用mongodb和Spring Boot。最近,我的mongodb升级到了3.0版本。 我对Spring使用以下Gradle依赖项: 如果我查看maven存储库中的gradle:,我会看到以下内容(http://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-data-mongodb/1.2.6