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文件的问题。