Не може да се импортира правилно модул 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