java run包含来自终端的classpath

时间:2016-01-11 22:33:47

标签: java linux terminal jsoup

练习使用jsoup。我从终端命令行使用linux和程序。在文件夹中,我有jsoup-1.8.3.jar,以及一个包含基本代码的java文件,用于获取标题并显示回来。供参考,这里是代码:

import java.io.IOException;  
import org.jsoup.Jsoup;  
import org.jsoup.nodes.Document;
class WebCrawler{

     public static void main( String[] args ) throws IOException{  
            Document doc = Jsoup.connect("http://www.javatpoint.com").get();  
            String title = doc.title();  
            System.out.println("title is: " + title);  
     }  

}

我想我已经能够使用以下命令编译类文件:

javac -cp "jsoup-1.8.3.jar" WebCrawler.java

没有给出任何错误。

然而,在尝试我认为应该是:

java -cp "jsoup-1.8.3.jar" WebCrawler

然后会说“错误:无法找到或加载主类WebCrawler 在尝试选中信息时,我发现在输入jar文件后,当我按下W和标签时,它将找不到WebCrawer类文件,它位于jar文件和源文件旁边的同一文件夹中。

这应该是一个基本修复,我输错了什么?

1 个答案:

答案 0 :(得分:0)

JB Nizet提出的答案

java -cp jsoup-1.8.3.jar:. WebCrawler
     

当前目录需要位于类路径中,因为您的类位于默认包中,并且类文件位于当前目录中。但是,您不应该在同一目录中拥有源文件,类文件和库。稍微组织你的项目:src下的源文件,类下的类文件,lib下的库。