如何识别我需要的依赖库

时间:2015-09-08 07:24:55

标签: java eclipse wolframalpha

我正在用Java构建一些使用Wolfram | Alpha来构建积分的东西。我下载了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,所以我正在跳过一堆睡眠诱导的基础知识。

这些库是否可以在vanilla 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。我认为这不重要,但可能会这样。

2 个答案:

答案 0 :(得分:1)

您必须将httpclient.jar升级到版本4.1。 正如您在此版本提供的javadoc论文中所看到的那样

答案 1 :(得分:1)

这些都是(旧的)Apache Software Foundation库。下载位置如下:

commons-codec-1.3.jar

httpclient-4.0.1.jar

commons-logging.jar

httpcore-4.0.1.jar