Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/16.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
Java 在命令行中,路径后面的冒号(:)是什么意思_Java_Bash - Fatal编程技术网

Java 在命令行中,路径后面的冒号(:)是什么意思

Java 在命令行中,路径后面的冒号(:)是什么意思,java,bash,Java,Bash,我有一个java程序,它使用Jsoup库解析一些HTML 要编译程序,我运行以下命令: javac-cp jsoup-1.10.3.jar HtmlVerify.java,其中jsoup jar位于同一目录中 要运行程序,当我运行时: java-cp jsoup-1.10.3.jar HtmlVerify,我得到一个错误:错误:无法找到或加载主类HtmlVerify 但是,当我将:附加到jar时,如下所示: java-cp jsoup-1.10.3.jar:HtmlVerify,它可以工作 这是

我有一个java程序,它使用Jsoup库解析一些HTML

要编译程序,我运行以下命令:
javac-cp jsoup-1.10.3.jar HtmlVerify.java
,其中jsoup jar位于同一目录中

要运行程序,当我运行时:
java-cp jsoup-1.10.3.jar HtmlVerify
,我得到一个错误:
错误:无法找到或加载主类HtmlVerify

但是,当我将
附加到jar时,如下所示:
java-cp jsoup-1.10.3.jar:HtmlVerify
,它可以工作

这是怎么回事?为什么
解决了这个问题


编辑:修复了在UNIX系统上运行的
java
命令。从这里开始:


类路径在
上拆分,每个条目都被视为搜索所需类的路径空条目将引用当前工作目录,相当于

换句话说,前面的命令意味着“在
jsoup-1.10.3.jar
中查找类”

后一种方法的意思是“在
jsoup-1.10.3.jar中查找类,或者在当前目录中查找类”

HtmlVerify
位于当前目录中,因此只能使用后一个命令找到它


JRe/JDK文档没有提到这个特性,所以请考虑使用更明确和更不易混淆的<代码> -CP JSOP1.1.3.jar:< /Cord>。毫无疑问,它是从Unix

PATH
中的相同行为继承而来的,POSIX也是如此。

java命令需要一个可执行类的完全限定名作为参数。不是.java文件的路径。您的工作命令可能无法工作<代码>:
是Unix上的标准路径分隔符。它用于在类路径中分隔多个jar路径(例如,在PATH环境变量中分隔目录路径)更正:我的意思是当我运行
java-cp jsoup-1.10.3.jar htmlevery
时,我得到了错误:
error:无法找到或加载主类htmlevery
,当我运行
java-cp jsoup-1.10.3.jar:htmlevery
For multiple JAR files, separate the jar-files with semicolons, as follows:

javac -classpath jar-file1;jar-file2;jar-file3 java-file
Some rules to note:

On UNIX systems use a colon instead of a semicolon.`