Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javac类路径问题_Java_Intellij Idea_Jsqlparser - Fatal编程技术网

javac类路径问题

javac类路径问题,java,intellij-idea,jsqlparser,Java,Intellij Idea,Jsqlparser,这似乎很琐碎。但我被困了一段时间 我的类路径: 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 98

这似乎很琐碎。但我被困了一段时间

我的
类路径

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的源代码:

有人能帮我解决这个问题吗?我还尝试在IntelliJ上使用这个库,但没有被识别。我遵循了添加外部库的标准程序,如中所述:

FWIW我使用
tmux
。希望这不是类路径问题。

了解如何使用命令行选项将类路径设置为任何java sdk工具—java、javac。该页面显示如何设置环境变量CLASSPATH以及如何使用switch-CLASSPATH

在您的例子中,如果jar与源文件位于同一目录中,那么您将需要这样一个命令来编译-

javac -classpath . MyClass.java
这是我要跑的

java -classpath . MyClass

您还可以在类路径中提供jar文件的完整路径,并添加多个目录和jar。例如-classpath.:/path/to/my.jar:/some/other/directory

好的,这是我在浪费了几个小时后想出的解决方案。看起来很愚蠢,但仍然:。。。当您在test.java中导入net.sf.jsqlparser.statement.StatementVisitor时,我只需
解压
jar
并使用解压缩的
jar
lib
目录中的
jar
文件,它会给出任何错误吗?哦,我使用vim。所以,不确定它在IDE中的行为。我完全清楚这一点。但是,正如问题中所述,我尝试过的包括您提到的那些程序在我的案例中不起作用。尝试更换jarYup,我将jar更换为另一个
mail.jar
;来自oracle的标准邮件jar。它工作得很好。所以,我想这是
jsqlparser
jar文件的问题。