我收到以下错误
SortingTester.java:1: error: package com.opencsv does not exist
import com.opencsv.CSVWriter;
^
SortingTester.java:109: error: cannot find symbol
CSVWriter writer = new CSVWriter(outputfile);
^
symbol: class CSVWriter
location: class SortingTester
SortingTester.java:109: error: cannot find symbol
CSVWriter writer = new CSVWriter(outputfile);
^
symbol: class CSVWriter
location: class SortingTester
对于此代码块:
import com.opencsv.CSVWriter;
public static void writeCSV (String[] arr, File filepath) {
try {
FileWriter outputfile = new FileWriter(filepath, true);
CSVWriter writer = new CSVWriter(outputfile);
writer.writeNext(arr);
writer.close();
System.out.println(Arrays.toString(arr));
}
catch (IOException e) {
e.printStackTrace();
}
}
作为参考,我正在使用 VSCode 及其集成的 Maven 依赖项。我的项目文件夹中附加了一个 pom.xml,并且我将最新版本添加到了我的 pom.xml
<dependency>
<groupId>com.opencsv</groupId>
<artifactId>opencsv</artifactId>
<version>5.9</version>
</dependency>
即使依赖项已正确集成(当我在侧面下拉选项卡上打开 Java 项目时,opencsv-5.9.jar 显示在 Maven 依赖项部分中),程序仍无法正确执行。我不知道发生了什么,我的问题与我迄今为止见过的所有其他堆栈溢出问题不同。
需要帮助,谢谢
经过一番调试,我找到了部分解决方案。对于所有 VSCoders,我不确定这是否只是我使用我独特的机器,但“包不存在”的原因是因为我只是尝试运行代码(这与下面的输出控制台相关)。由于某种原因,输出控制台不支持 OpenCSV,或者未连接到 Maven 依赖项/Java 库等。相反,我“运行 Java”,它在 VSCode 的内置终端上编译并执行代码。在那里,OpenCSV 工作得很好(只要你们将其添加到 pom.xml 中并正确导入库)。
然后,我从之前的搜索中发现了一个小技巧,如果您的代码在这一切之后仍然无法编译,请检查几件事: