0

大家好,我是 gradle 新手,遇到以下问题。

当我使用 java 插件并在我的项目上调用$gradle build时,它不会将我的第三方依赖项放在类路径上。我的 build.gradle 文件如下所示:

apply plugin: 'java'

sourceSets.main.java.srcDirs = ["src/main/java", "src/main/web"]

repositories {
  flatDir name: 'thirdParty', dirs: 'C:/dev/repo'
}

dependencies {
  compile files('log4j-1.2.12.jar', 'gson-1.7.1.jar')
}

并且gradle的错误输出如下

C:\dev\gradling\TestProject\src\main\web\java\org\gradle\example\simple\HelloWorld2.java:3: package com.google.gson does not exist
import com.google.gson.Gson;
                      ^
C:\dev\gradling\TestProject\src\main\web\java\org\gradle\example\simple\HelloWorld2.java:7: cannot find symbol
symbol  : class Gson
location: class org.gradle.example.simple.HelloWorld2
         Gson gson = new Gson();
         ^
C:\dev\gradling\TestProject\src\main\web\java\org\gradle\example\simple\HelloWorld2.java:7: cannot find symbol
symbol  : class Gson
location: class org.gradle.example.simple.HelloWorld2
         Gson gson = new Gson();

我已经说明了我的 repo jar 所在的位置,并告诉它在编译时它必须包含上述 jar。

请帮忙。

4

1 回答 1

0

您的依赖声明不正确。您可以指定一个存储flatDir库并使用通常的依赖语法来处理外部依赖项 ( group:module:version),或者将该files方法与正确的文件路径一起使用(这样您就不需要声明存储库)。在前一种情况下,您可以省略依赖项的组。例如:

repositories {
    flatDir name: 'thirdParty', dirs: 'C:/dev/repo'
}

dependencies {
    compile ':log4j:1.2.12'
}

有关更多信息,请参阅Gradle 用户指南

于 2013-05-28T22:18:22.550 回答