我有一个java程序,它使用Jsoup库来解析一些HTML。
要编译程序,我运行命令:
javac -cp jsoup-1.10.3.jar HtmlVerify.java
,其中jsoup jar位于同一目录中。
运行程序时,我运行:
java -cp jsoup-1.10.3.jar HtmlVerify
,我收到错误:Error: Could not find or load main class HtmlVerify
但是,当我将:
添加到jar中时:
java -cp jsoup-1.10.3.jar: HtmlVerify
,它有效。
这里发生了什么?为什么:
解决了这个问题?
编辑:修复了java
个命令
答案 0 :(得分:5)
类路径在:
上拆分,每个条目都被视为搜索所需类的路径。 空条目将引用当前工作目录,相当于.
换句话说,你以前的命令意味着“寻找jsoup-1.10.3.jar
中的课程。”
后者意味着“在jsoup-1.10.3.jar
中查找类,或者在当前目录中查找”。
HtmlVerify
位于当前目录中,因此只能使用后一个命令找到它。
JRE / JDK文档未提及此功能,因此请考虑使用更明确且更少混淆的-cp jsoup-1.10.3.jar:.
。毫无疑问,它继承了Unix PATH
中的相同行为,POSIX也asks that you avoid。
答案 1 :(得分:-1)
您正在UNIX系统上运行。从这里开始:http://www.cs.cornell.edu/courses/cs212/2008sp/Compiler/Java/jars.html
IShellLinkW