如何识别我需要的依赖库

How to identify the dependent libraries I need

我正在 Java 中构建一些使用 Wolfram|Alpha 计算积分的东西。我下载了 Wolfram API and it comes with a sample program that you can use to figure stuff out. 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。我认为这在这里不重要,但它可能。

您必须将 httpclient.jar 升级到 4.1 版。 正如您在该版本

中可用的 javadoc 论文 class 中所见

这些都是(旧的)Apache 软件基金会库。下载位置如下:

commons-codec-1.3.jar

httpclient-4.0.1.jar

commons-logging.jar

httpcore-4.0.1.jar

@dimplex 已经回答了。这些是几个 Apache 项目的版本。下次遇到这些问题时,试试:

Google:

赞:

以上每次搜索的第一个结果都与您要查找的下载相距几步之遥。

Maven 中央搜索:

http://search.maven.org

(我没有复制每个 link,只是搜索 Jar 文件名。)

这个更直接,但我推荐Google方式,因为你可以瞥见项目页面。