Java 包装不';不存在,尽管存在依赖关系

Java 包装不';不存在,尽管存在依赖关系,java,maven,intellij-idea,windows-10,Java,Maven,Intellij Idea,Windows 10,我在使用Maven时遇到了麻烦,xml文件不是我创建的,它和我的代码对我的导师来说都很好,即使我在IntelliJ中使用它时向她发送了我的整个项目。 我使用IntelliJ idea Community 2020.2,Java 8,11,14,这取决于我需要什么,我只是安装了Maven 3,希望它能解决我的问题,但它没有,至少mvn-v现在可以从命令行工作了 如果我尝试导入com.opencsv,它会抛出错误: java:package com.opencsv不存在 IntelliJ可以识别包,

我在使用Maven时遇到了麻烦,xml文件不是我创建的,它和我的代码对我的导师来说都很好,即使我在IntelliJ中使用它时向她发送了我的整个项目。 我使用IntelliJ idea Community 2020.2,Java 8,11,14,这取决于我需要什么,我只是安装了Maven 3,希望它能解决我的问题,但它没有,至少mvn-v现在可以从命令行工作了

如果我尝试导入com.opencsv,它会抛出错误:

java:package com.opencsv不存在

IntelliJ可以识别包,甚至可以为我自动完成方法等,但无论是在IntelliJ终端还是在windows命令行中,它在尝试编译时都会失败

我可以通过maven终端和cmd运行其他程序。 IntelliJ在依赖项中识别com.opencsv

这是我第一次使用maven,请耐心等待:*

正如我所说,pom和我的代码适用于我的导师,但这里是pom:

<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>TownDbWS1920</groupId>
    <artifactId>TownDbProgramingExercise</artifactId>
    <version>1.0</version>
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>8</source>
                    <target>8</target>
                </configuration>
            </plugin>
        </plugins>
    </build>

    <dependencies>
        <dependency>
            <groupId>com.opencsv</groupId>
            <artifactId>opencsv</artifactId>
            <version>3.8</version>
        </dependency>
    </dependencies>

</project>

4.0.0
TownDbWS1920
城市规划练习
1
org.apache.maven.plugins
maven编译器插件
8.
8.
com.opencsv
opencsv
3.8
正如我所说的,代码很好,适用于其他人,但无论如何,它是这样的:


import com.opencsv.CSVReader;

import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.*;

/**
 * Zettel 0 - Aufgabe 2
 */
public class ReadCSV_Task2 {

    private static String FILENAME = "data.csv";

    public static void main(String[] args) {
        System.out.println("---Aufgabe 1.1---");
        fetchAll_CSV_NUM(FILENAME);
        System.out.println("---Aufgabe 1.2---");
        fetchAll_CSV_ASSOC(FILENAME);

        System.out.println("Compiled, no syntactical failures =)");
    }

    /**
     * Aufgabe 1.1
     * @param fileName die CSV-Datei
     * @return die Daten der CSV-Datei in einer Arrayliste
     */
    public static List<String[]> fetchAll_CSV_NUM(String fileName) {
        FileReader fileReader = null;
        List<String[]> words = null;
        try {
            fileReader = new FileReader(fileName);
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
        CSVReader csvReader=new CSVReader(fileReader);
        try {
            csvReader.readNext(); //read the first line to dispose of it
            words =new ArrayList<>(csvReader.readAll());//Read all the other lines into an arraylist
        } catch (IOException e) {
            e.printStackTrace();
        }
        return words;
    }

    /**
     * Aufgabe 1.2
     * @param fileName die CSV-Datei
     * @return die Daten der CSV-Datei in einer Mapliste
     */
    public static List<Map<String, String>> fetchAll_CSV_ASSOC(String fileName) {
        FileReader fileReader=null;
        List<Map<String, String>> maps;
        String[] headLine=null;
        List<String[]> words=null;
        try {
            fileReader = new FileReader(fileName);
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
        CSVReader csvReader=new CSVReader(fileReader);
        try {
            headLine=csvReader.readNext();//Read the first line to get the keys
            words =new ArrayList<>(csvReader.readAll());//Read the rest into a list
        } catch (IOException e) {
            e.printStackTrace();
        }
        maps=new ArrayList<>();
        for(String[] line:words){//For each line
            Map<String, String> cmap= new HashMap<>();
            for(int i=0;i<line.length;i++){//Assign to a key
                cmap.put(headLine[i],line[i]);
            }
            maps.add(cmap);
        }
        return maps;
    }
}

导入com.opencsv.CSVReader;
导入java.io.FileNotFoundException;
导入java.io.FileReader;
导入java.io.IOException;
导入java.util.*;
/**
*Zettel 0-Aufgabe 2
*/
公共类ReadCSV_任务2{
私有静态字符串FILENAME=“data.csv”;
公共静态void main(字符串[]args){
System.out.println(“--Aufgabe 1.1--”);
fetchAll_CSV_NUM(文件名);
System.out.println(“--Aufgabe 1.2--”);
fetchAll_CSV_ASSOC(文件名);
System.out.println(“已编译,无语法错误=)”;
}
/**
*Aufgabe 1.1
*@param fileName.CSV-Datei
*@return die Daten der CSV Datei位于阵列列表中
*/
公共静态列表fetchAll\u CSV\u NUM(字符串文件名){
FileReader FileReader=null;
列表词=空;
试一试{
fileReader=新的fileReader(文件名);
}catch(filenotfounde异常){
e、 printStackTrace();
}
CSVReader CSVReader=新的CSVReader(文件阅读器);
试一试{
csvReader.readNext();//读取第一行以处理它
words=newarraylist(csvReader.readAll());//将所有其他行读入ArrayList
}捕获(IOE异常){
e、 printStackTrace();
}
返回单词;
}
/**
*Aufgabe 1.2
*@param fileName.CSV-Datei
*@return die Daten der CSV Datei在地图列表中
*/
公共静态列表fetchAll\u CSV\u ASSOC(字符串文件名){
FileReader FileReader=null;
列出地图;
字符串[]headLine=null;
列表词=空;
试一试{
fileReader=新的fileReader(文件名);
}catch(filenotfounde异常){
e、 printStackTrace();
}
CSVReader CSVReader=新的CSVReader(文件阅读器);
试一试{
headLine=csvReader.readNext();//读取第一行以获取密钥
words=newarraylist(csvReader.readAll());//将其余内容读入列表
}捕获(IOE异常){
e、 printStackTrace();
}
maps=newarraylist();
for(String[]行:words){//for每行
Map cmap=新的HashMap();

对于代码中的(int i=0;i,您不会导入
CSVReader
,也不会将其与完全限定名一起使用

将此行与其他导入一起添加:

导入com.opencsv.CSVReader;

编辑:我看到您显然已经尝试过了,但这就是您报告的错误消息被输出的原因。

既然您说
mvn compile
很高兴,但IntelliJ不高兴,最可能的原因是您没有告诉IntelliJ将代码作为Maven项目打开,因此它没有打开它的Maven集成。请删除此pIntelliJ项目中的程序(不要删除内容,只需将其与IDE断开链接)和。

复制我在此处找到的答案:

导出IDE设置(键映射、插件)。您可以通过转到文件|管理IDE设置|导出设置…导出一个zip文件,稍后您可以在恢复默认IDE配置时导入该文件

转到文件|管理IDE设置|还原默认设置…IDE将重新启动并还原为默认配置。此命令重新生成正确配置中缺少的path.macros.xml文件。请注意,您可以在/options目录中创建文件


导入导出的zip文件|管理IDE设置|导入设置…

它向我抛出了一个错误:您具体在哪里得到这个错误?如果运行
mvn compile会发生什么情况
?我在IntelliJ Idea终端和cmd中得到相同的错误。mvn compile告诉我IntelliJ Idea终端和cmd中的构建成功。可以吗您是否从命令行发布了该错误的全文?您的依赖项似乎是正确的,因此一定发生了其他事情。正如我所说,错误是“java:package com.opencsv不存在”它还告诉我它无法识别csvReader的类,我假设这是因为它无法导入包:C:\Users\Name\Desktop\u JavaTemplates\src\main\java\ReadCSV\u Task2。java:36:9 java:找不到符号符号符号:class csvReader位置:class ReadCSV\u Task2这4次当然了。我在cmd和IntelliJ terminal中遇到了相同的错误这可能没有任何作用,但最新版本是“5.3”。尝试更改它,看看是否有帮助。哦,我一定没有正确复制我的代码,它从一开始就在那里。我按照那篇文章中的描述做了