我对 Gradle 相当陌生,所以我正在尝试构建一个 Java 项目,但不确定依赖项。 我从未将 Gradle 配置为能够进行测试,或者现在使用 jar 文件进行编译和运行。
我的build.gradle
:
apply plugin: 'java'
apply plugin: 'maven'
repositories {
jcenter()
}
dependencies {
compile 'org.slf4j:slf4j-api:1.7.25'
compile 'org.json:json:20160212'
testCompile 'junit:junit:4.12'
}
这就是我在控制台上得到的内容,说明它看不到我的导入:
error: package org.json.simple does not exist
import org.json.simple.JSONParser;
这是我的班级:
import org.json.simple.*;
import java.io.*;
import java.util.*;
import java.lang.*;
public class FileLoader {
@SuppressWarnings("unchecked")
public static void main(String args[]) {
JSONParser parser = new JSONParser();
int count = 0;
try {
Object obj = parser.parse(new FileReader(
"Consumers.json"));
JSONObject jsonObject = (JSONObject) obj;
JSONArray array = jsonObject.getJSONArray("people");
} catch (Exception e) {
e.printStackTrace();
}
}
}
如果您下载指定的 JSON jar,并列出其内容(例如带有 jar tf
),则它不包含org.json.simple
包。
所以问题很简单,你需要另一个罐子。
编辑:
我不知道这是否是意图,但有根据的猜测:如果您将此依赖项添加到build.gradle
:
compile 'com.googlecode.json-simple:json-simple:1.1.1'
以及这些进口:
import org.json.simple.parser.*;
// import org.json.simple.*;
import org.json.*;
然后编译示例(对我来说)。
将其添加到我的build.gradle文件中有效:
implementation 'com.googlecode.json-simple:json-simple:1.1.1'
您没有使用org.json.simple
库的正确依赖项。
我认为您可能想要像 https://mvnrepository.com/artifact/com.googlecode.json-simple/json-simple 这样的依赖项的坐标,但要找到Maven坐标并不容易。
如果要使用该库,可以将以下部分添加到构建脚本中:
repositories {
jcenter()
}
dependencies {
compile group: 'com.googlecode.json-simple', name: 'json-simple', version: '1.1.1'
}
将此添加到文件中以修复导入:
import org.json.simple.parser.*;
然后,您只需要修复类定义中的使用错误。
此外,该库看起来未维护,因此您可能需要探索其他 JSON 解析库。