パッケージ構造は私のコードでsrcフォルダがあり、その中にexecフォルダがありますクラスと3つのメソッド、私のメインクラスと2つの瓶。端末からのjarのコンパイル例外: "エラー:package au.com.bytecode.opencsvが存在しません" "
マイ幹部クラスは次のようになります。
package com.xxx.exec;
import au.com.bytecode.opencsv.CSVReader;
import java.io.*;
import java.net.URL;
import java.net.URLConnection;
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
/**
* Created by xxx on 24/07/16.
*/
public class ApiAccess {
public void getConsoleInput() throws Exception {
Console console = System.console();
if (console == null) {
throw new Exception("Unable to fetch console");
}
System.out.println("Please enter the location:");
getAPIData(console.readLine());
}
private void writeCsv(InputStream input) {
try {
CSVReader locationData = new CSVReader(new InputStreamReader(input));
locationData.close();
System.out.println(input);
}
catch (Exception e) {
System.out.println("Something went wrong while creating the csv:" + e);
}
}
private void getAPIData(String location) throws IOException {
String url = "http://exec.goeuro.com/exec/v2/position/suggest/en/";
String charset = StandardCharsets.UTF_8.name();
String query = String.format(url + "%s", URLEncoder.encode(location, charset));
URLConnection connection = new URL(query).openConnection();
connection.setRequestProperty("Accept-Charset", charset);
// String line;
// StringBuilder text = new StringBuilder();
// BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream(), "UTF-8"));
// while((line = reader.readLine()) != null) {
// text.append(line).append(" ");
// }
//
// writeCsv(text.toString());
writeCsv(connection.getInputStream());
}
}
マイターミナルコマンドは次のようになります。
javac -cp ".:lib/*:opencsv-2.41.jar" -d src $(find ./src/* | grep .java)
そして、私はこのエラーを取得:
./src/com/goeuro/exec/ApiAccess.java:3: error: package au.com.bytecode.opencsv does not exist
import au.com.bytecode.opencsv.CSVReader;
^
./src/com/goeuro/exec/ApiAccess.java:29: error: cannot find symbol
CSVReader locationData = new CSVReader(new InputStreamReader(input));
^
symbol: class CSVReader
location: class ApiAccess
./src/com/goeuro/exec/ApiAccess.java:29: error: cannot find symbol
CSVReader locationData = new CSVReader(new InputStreamReader(input));
^
symbol: class CSVReader
location: class ApiAccess
3 errors
は、事前にありがとう任意の答え!
現在のディレクトリ構造(私はディレクトリの前にバックスラッシュを置く):
/src >
-/com.xxx >
-Main.java,
-/exec >
-ApiAccess,
-opencsv-2.41.jar >
-/au.com.bytecode.opencsv,
-commons-lang3-3.0.1.jar
現在のディレクトリを基準にしたJARファイルの場所を表示してください。 –
@StephenCちょっと、私は構造を追加しました:) – Ozymandias
あなたがそれを修正するのを待っているので、それは1)読みやすく2)正確です。 –