我刚刚开始使用Gradle,我正在将一个非托管(Eclipse)Java项目转换为Gradle命令行项目。
所有库JAR都在本地目录中(机器是空气隔离的,无法访问Maven repo或类似文件),所以我在build.gradle
文件中告诉Gradle这一点:
repositories {
flatDir {
dirs("lib")
}
}
在这个目录中,我有,例如。我在Java代码中使用jar json-simple-1.1.1.jar
,
import org.json.simple.JSONArray;
然而,这对Gradle来说似乎还不够:* 另外 * 我需要添加到build.gradle
:
dependencies {
implementation group: 'com.googlecode.json-simple', name: 'json-simple', version: '1.1.1'
}
现在Gradle可以构建我的示例项目了。到目前为止还不错。
然而,在我的真实的项目中,我在lib文件夹中有许多JAR文件,查找每个jar文件的实现规范似乎很乏味。
对于Java代码中使用的每个库,lib目录中只有 * 一个 * lib文件可用,那么有没有一种方法可以告诉Gradle只使用它在lib文件夹中找到的lib文件作为实现?然后我不需要写出所有(多余的)implementation ...
行。
感谢任何指针!
1条答案
按热度按时间oxf4rvwz1#
应用Jorn评论中的tip,可以通过
build.gradle
中的以下指令解决Gradle 8的问题:使用此指令时,您无需再提供
repositories flatDir”指令。 但是,请确保在您的
lib文件夹中,每个库只有 * 一个 * 版本。如果目录包含多个版本的库(例如
xmlbeans-2.6.0.jar和
xmlbeans-5.1.1.jar`),那么Gradle似乎不够智能,无法默认使用最新版本,您可能会收到(意外的)编译错误。