Невозможно правильно импортировать модуль opencsv для Java [пакет com.opencsv не существует] - PullRequest
0 голосов
/ 28 апреля 2018

Вот простой Java-код, который я написал, где я хотел бы проанализировать мой CSV-файл с помощью модуля opencsv:

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

Но это дает мне следующий вывод: пакет com.opencsv не существует - пожалуйста, смотрите изображение

Сейчас я воздерживаюсь от использования IntelliJ или Eclipse или для сборки этой программы с Maven или Groovy и т. Д. Могу ли я просто скомпилировать и запустить код в командной строке, как указано выше, исправив ошибки?

Любая помощь будет принята с благодарностью!

Заранее спасибо!

1 Ответ

0 голосов
/ 01 сентября 2018

У меня была похожая проблема с компиляцией 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.

...