2015-09-08 37 views
0

我在使用Wolfram | Alpha創建積分的Java中創建了一些小東西。我下載了Wolfram API,它附帶了一個示例程序,您可以使用它來計算東西。 Here's that at GitHub如何識別我需要的依賴庫

有一個在評論部分,上面寫着:

* To compile or run this program you will need the following dependent 
* libraries on your classpath (including WolframAlpha.jar, of course): 
* 
*  commons-codec-1.3.jar 
*  httpclient-4.0.1.jar 
*  httpcore-4.0.1.jar 
*  commons-logging.jar 

...我不知道如何做到這一點。我使用這個項目作爲學習Java的一種方式,所以我忽略了一大堆誘發睡眠的基礎知識。

這些庫在香草Java安裝中可用,還是必須從別處獲取它們?我想避免用冗餘的東西加載我的系統。

當我嘗試在不加載這些庫的情況下運行腳本時,它以可預見的錯誤結束。以下是錯誤消息:

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/http/conn/scheme/SocketFactory 
    at com.wolfram.alpha.net.HttpProviderFactory.getDefaultHttpProvider(HttpProviderFactory.java:18) 
    at com.wolfram.alpha.WAEngine.<init>(WAEngine.java:36) 
    at simpleSample.main(simpleSample.java:58) 
Caused by: java.lang.ClassNotFoundException: org.apache.http.conn.scheme.SocketFactory 
    at java.net.URLClassLoader.findClass(Unknown Source) 
    at java.lang.ClassLoader.loadClass(Unknown Source) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) 
    at java.lang.ClassLoader.loadClass(Unknown Source) 
    ... 3 more 

我使用Eclipse作爲我的IDE。我認爲這不重要,但可能。

+0

@Jens我同意這個問題已經在別處解決。不幸的是,它看起來並沒有像你標記的那樣重複。 –

+0

請看看[這裏](http://stackoverflow.com/questions/9395207/how-to-include-jar-files-with-java-file-and-compile-in-command-prompt)讓你開始。你也可以看看使用Maven項目來處理你的依賴關係。 –

+2

「我正在跳過一堆誘發睡眠的基本面」,但現在那些引發睡眠的基本原理讓你頭疼。也許你應該首先調用'java -h'並查看'-classpath'選項。 – SpaceTrucker

回答

1

@dimplex已經回答了。這些是幾個Apache項目的發佈。下次你遇到這些問題,請嘗試:

谷歌

像:

上述每次搜索的第一個結果是從您正在查找的下載中點擊幾下。

Maven的中央搜索

http://search.maven.org

(我不是複製的每一個環節,只是搜索的Jar文件名。)

這一個更直接,但我建議谷歌的方式,因爲你可以看到項目頁面的一瞥。

+0

我知道我可以谷歌和安裝每次遇到問題。如果你閱讀我的問題,你會看到這樣一段話:「這些庫是否可用於Java安裝,還是必須從別處獲取?我想避免用冗餘的東西加載我的系統。」不過謝謝你的努力。 –

+0

@ n8。 「這些庫在Java安裝中是否可用,還是必須從別處獲取?」。 「這些是幾個Apache項目的發佈」作爲答案回答爲「否」,答案的其餘部分告訴你「別處」在哪裏「取回」它們。有什麼問題? –

+0

問題在於假設我知道事情。我不知道Java不會包含這些庫,這就是爲什麼我問他們是否被包含在內。當然,有理由認爲Java不一定會在他們的vanilla安裝中包含Apache庫,但我不知道。所以我沒有做出不明智的決定,而是問這個問題。謝謝你全面回答,但我真的只需要一個「不,你需要下載什麼」。 –

1

您必須將httpclient.jar升級到版本4.1。 正如您在javadoc中看到的那樣,可從此版本獲得的課程

+0

謝謝,我會研究這個。 –