解决 java:1: 错误:VSCode 上不存在 com.opencsv 包

问题描述 投票:0回答:1

我收到以下错误

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 依赖项部分中),程序仍无法正确执行。我不知道发生了什么,我的问题与我迄今为止见过的所有其他堆栈溢出问题不同。

需要帮助,谢谢

java maven visual-studio-code opencsv
1个回答
0
投票

经过一番调试,我找到了部分解决方案。对于所有 VSCoders,我不确定这是否只是我使用我独特的机器,但“包不存在”的原因是因为我只是尝试运行代码(这与下面的输出控制台相关)。由于某种原因,输出控制台不支持 OpenCSV,或者未连接到 Maven 依赖项/Java 库等。相反,我“运行 Java”,它在 VSCode 的内置终端上编译并执行代码。在那里,OpenCSV 工作得很好(只要你们将其添加到 pom.xml 中并正确导入库)。

然后,我从之前的搜索中发现了一个小技巧,如果您的代码在这一切之后仍然无法编译,请检查几件事:

  1. 您的 pom.xml 添加了正确版本的依赖项
  2. Maven 实际上集成/下载了库。您可以通过左侧下拉选项卡上的 Java 项目或 Maven 依赖项进行检查(仅适用于 VSCode 用户)
  3. 如果仍然不起作用,请尝试重新加载项目:D
  4. 这意味着重新启动 IDE/文本编辑器,右键单击项目文件夹并单击“重新加载项目”,或单击“重建项目”
© www.soinside.com 2019 - 2024. All rights reserved.