2015-12-04 106 views
0

你好,有StackOverflow。我從來沒有真正發佈在這裏,但已經使用它作爲參考,並學習有關編程無數次的各種主題,所以我感謝你所有的:)努力介紹JSoup

我想先這樣,這是一個該項目是實習崗位正在進行的面試的一部分。如果我多次遇到困難,該公司非常友好,並願意提供幫助,但如果可能的話,我希望儘可能自行完成,以表明我可以通過我自己的發現解決我的問題。

這就是說,我得到了一個pom.xml文件,一個骨架主(其中插入了一個非常基本的嘗試從URL獲取標題)。

我從來沒有使用(甚至聽說過)pom文件,直到這個項目,所以他們仍然非常,非常新對我來說。

我目前正在試圖按照this reference但是當我嘗試運行該程序,我得到擊中這個:

Exception in thread "main" java.lang.NoClassDefFoundError: org/jsoup/Jsoup 
    at com.appdetex.sampleparserjavaproject.Main.main(Main.java:26) 
Caused by: java.lang.ClassNotFoundException: org.jsoup.Jsoup 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 
    ... 1 more 

這裏是給定的pom.xml文件,對此我沒有完全改變爲這一點:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 

    <modelVersion>4.0.0</modelVersion> 

    <groupId>com.appdetex</groupId> 
    <artifactId>sampleparserjavaproject</artifactId> 
    <packaging>jar</packaging> 
    <version>1.0-SNAPSHOT</version> 

    <name>sampleparserjavaproject</name> 
    <url>**Not actually *'s, just wish to hide the github URL**</url> 

    <dependencies> 
     <dependency> 
      <!-- jsoup HTML parser library @ http://jsoup.org/ --> 
      <groupId>org.jsoup</groupId> 
      <artifactId>jsoup</artifactId> 
      <version>1.8.3</version> 
     </dependency> 
    </dependencies> 
</project> 

這是我當前的源代碼。 [注意:Java:26從我的錯誤是包含文檔的文檔=行.....]

package com.appdetex.sampleparserjavaproject; 

import java.io.IOException; 
import org.jsoup.Jsoup; 
import org.jsoup.nodes.Document; 
/** 
* Main Java Class 
*/ 
public class Main 
{ 
    public static void main(String args[]) 
    { 
     Document doc = Jsoup.connect("http://www.javatpoint.com").get(); 
     String title = doc.title(); 
     System.out.println("URL title = " + title);  
    } // End of main method 
} // End of class Main 

我通過以下命令運行項目:

$ java -cp target/sampleparserjavaproject-1.0-SNAPSHOT.jar com.appdetex.sampleparserjavaproject.Main 

如果我在我的main()中註釋掉了3行,並打印出一個「Hello World」,例如它可以正常工作,但JSoup似乎不想合作。

對於JSoup和pom文件基本上沒有經驗,我不太確定接下來要做什麼,但是從我所看到的,看起來我必須以某種方式更改/編輯我的pom文件。

任何幫助將不勝感激。

感謝 - 傑克

+0

我使用jsoup-1.7.2.jar測試你的代碼,它的工作方式。一次檢查你的classpath是否有jsoup jar文件。如果不將jar文件添加到classpath(lib文件夾)。 –

+0

我該怎麼做呢?你的意思是java的classpath嗎? – Jack

+0

檢查你的lib文件夾。 –

回答

0

你似乎對基本的項目設置了Maven項目費周折。 Maven使用pom文件來定義項目組件如何一起工作。大多數情況下,它們都包含有關編譯時間和運行時間依賴性的信息。

要在Eclipse中正確使用它,您應該使用m2eclipse插件,該插件可能已經是您的安裝的一部分。

有許多關於Maven的教程及其工作原理。我發現這是非常好的:http://www.mkyong.com/maven/how-to-create-a-java-project-with-maven/

+0

非常感謝您的幫助!無論什麼原因,當我從命令行運行它不起作用,但是當我在Eclipse中運行時,它的工作原理應該如此。再次感謝你,祝你有美好的週末! – Jack