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 回答
0

好的,这是我在浪费时间后想出的解决方案。似乎很愚蠢,但仍然:...我只需要unzipjar使用提取jar的目录中的文件。libjar

于 2015-04-22T01:55:17.300 回答