Не удалось правильно импортировать модуль opencsv для java [пакет com.opencsv не существует]

Вот простой код 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 и т. д. Могу ли я просто скомпилировать и запустить код в командной строке, как указано выше, исправив то, что не так?

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

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


person Rakshit Sinha    schedule 28.04.2018    source источник


Ответы (1)


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

person aliceInJavaLand    schedule 01.09.2018
comment
Спасибо! Я попробую это и дам вам знать, сработало ли это для меня! - person Rakshit Sinha; 21.01.2019