无法正确导入opencsv模块for java [package com.opencsv不存在]

时间:2018-04-28 15:30:14

标签: java module opencsv

这是我编写的一个简单的java代码,我想使用opencsv模块解析我的csv文件:

import com.opencsv.CSVReader;
import java.io.FileReader;
import java.io.IOException;

public class csv_open {

public static void main(String[] args) {

    String csvFile = "FebStatement.csv";

    CSVReader reader = null;
    try {
        reader = new CSVReader(new FileReader(csvFile));
        String[] line;
        while ((line = reader.readNext()) != null) {
            System.out.println("Expense [date= " + line[0] + ", amount= " + line[1] + " , name=" + line[2] + "]");
        }
    } catch (IOException e) {
        e.printStackTrace();
    }
}
}

在我有csv_open.java文件的目录中,我也有opencsv-4.1.jar文件。 我用来在命令行上编译代码的命令是:

javac -classpath opencsv-4.1.jar: csv_open.java

但那给了我以下输出: package com.opencsv does not exist - pls see image

我现在不使用IntelliJ或Eclipse,或者使用Maven或Groovy等构建这个程序。 我是否仍然可以通过修复错误来简单地在命令行上编译和运行代码?

非常感谢任何帮助!

提前致谢!

1 个答案:

答案 0 :(得分:0)

我在编译com.opencsv.CSVWriter时遇到类似的问题。我最终使用下面的代码在命令行中进行了编译,并且成功了!我仍在学习如何设置类路径,而不是那样,所以可能有一种更简单的方法,但这对我有用。

javac -classpath C:\ project \ lib \ opencsv-4.2.jar -d C:\ project \ bin \ -sourcepath C:\ project \ src \ PrepForCPP.java

编译代码明细:

javac = jvm compiler
-classpath = full path of where the jar file is stored
-d = where the various class files for my program are stored
-sourcepath = where all of the different java files for my program are stored
C:\project\src\ = setting the filepath
PrepForCPP.java = file name with main method

您可能不需要-d和-sourcepath,因为看起来您仅使用一个文件。如果我正确理解了我在类路径上找到的信息,则环境变量设置不正确,因此jvm无法找到opencsv-4.2.jar。我不认为我也做过,但是目前包括完整的文件路径似乎是一个不错的解决方法。

**这确实需要设置classpath环境变量。否则,您可以包括javac的完整文件路径。