我正在用Java构建一个小东西,使用Wolfram|Alpha来计算积分。我下载了Wolfram API,它附带了一个示例程序,你可以用它来解决问题。这是在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。我不认为这是重要的,但它可能。
@dimplex已经回答了。这些是几个Apache项目的发行版。下次遇到这些问题时,试试:
谷歌:
:
- 谷歌commons-codec-1.3.jar
- 谷歌httpclient-4.0.1.jar
- 谷歌httpcore-4.0.1.jar
- 谷歌commons-logging.jar
上面每个搜索的第一个结果都是离你正在寻找的下载有几次点击。
Maven Central Search:
http://search.maven.org(我没有复制每个链接,只是搜索Jar文件名)
这个更直接,但我推荐使用Google的方式,因为你可以看到项目页面
您必须将httpclient.jar
升级到4.1版本。正如您在javadoc中所看到的,这个版本提供的这些类
这些都是(旧的)Apache Software Foundation库。下载位置如下:
commons-codec-1.3.jar
httpclient-4.0.1.jar
commons-logging.jar
httpcore-4.0.1.jar