2

これは非常に些細なことのようです。しかし、私はしばらく立ち往生しています。

私のCLASSPATH

jerry@jerry-OptiPlex-790:~/Desktop/SQLLite-experiment/java$ echo $CLASSPATH
.:./*:/home/jerry/Desktop/SQLLite-experiment/java/jsqlparser-0.7.0.jar

の出力ll:

jerry@jerry-OptiPlex-790:~/Desktop/SQLLite-experiment/java$ ll
total 980
drwxrwxr-x 2 jerry jerry   4096 Apr 21 19:25 ./
drwxrwxr-x 7 jerry jerry   4096 Apr 21 17:05 ../
-rw-rw-r-- 1 jerry jerry 991221 Apr 21 17:25 jsqlparser-0.7.0.jar
-rw-rw-r-- 1 jerry jerry    181 Apr 21 19:24 test.java

私のtest.javaファイル:

import net.sf.jsqlparser.statement.StatementVisitor;
import net.sf.jsqlparser.*;

public class test {

    public static void main(String[] args) {
        System.out.println("Hello");
    }
}

の出力javac:

jerry@jerry-OptiPlex-790:~/Desktop/SQLLite-experiment/java$ javac test.java 
test.java:1: error: package net.sf.jsqlparser.statement does not exist
import net.sf.jsqlparser.statement.StatementVisitor;
                                  ^
test.java:2: error: package net.sf.jsqlparser does not exist
import net.sf.jsqlparser.*;
^
2 errors

以下のコマンドでも同じエラーが発生します。

jerry@jerry-OptiPlex-790:~/Desktop/SQLLite-experiment/java$ javac -cp "jsqlparser-0.7.0.jar:." test.java

jsqlparser のソース: http://jsqlparser.sourceforge.net/docs/

誰でもこの問題で私を助けてもらえますか? IntelliJ でもこのライブラリを使用してみましたが、認識されませんでした。IntelliJ IDEA で外部ライブラリを追加する方法? に記載されているように、外部ライブラリを追加する標準的な手順に従いました。

FWIW私は使用しますtmux。これが CLASSPATH の問題ではないことを願っています。

4

2 に答える 2

2

コマンド ライン オプションを使用してクラスパスを任意の Java SDK ツール (java、javac) に設定する方法については、こちらを参照してください。このページには、環境変数 CLASSPATH の設定方法と、スイッチ -classpath の使用方法が示されています。

あなたの場合、ソースファイルと同じディレクトリにjarがある場合、コンパイルするには次のようなコマンドが必要になります-

javac -classpath . MyClass.java

そしてこれを実行する

java -classpath . MyClass

クラスパスで jar ファイルへのフル パスを指定し、複数のディレクトリと jar を追加することもできます。-classpath .:/path/to/my.jar:/some/other/directory など

于 2015-04-22T00:02:54.240 に答える