2011-02-05 71 views
3

我想尝试一下本文中的示例代码:Load Recovery.gov Grant Data into a CouchDB Database。我熟悉Java语言,但对Maven构建系统一无所知。使用Maven帮助构建和运行Java项目

我已经成功运行“命令mvn包”打造的项目,但我在尝试运行它时,以下几点:

[email protected]:~/source/sample-parse$ java -cp target/sample-parse-1.0-SNAPSHOT.jar com.discursive.sample.parse.LoadingGrants 
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/http/HttpEntity 
Caused by: java.lang.ClassNotFoundException: org.apache.http.HttpEntity 
     at java.net.URLClassLoader$1.run(URLClassLoader.java:202) 
     at java.security.AccessController.doPrivileged(Native Method) 
     at java.net.URLClassLoader.findClass(URLClassLoader.java:190) 
     at java.lang.ClassLoader.loadClass(ClassLoader.java:307) 
     at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) 
     at java.lang.ClassLoader.loadClass(ClassLoader.java:248) 

我需要其他人做一些事来正确设置CLASSPATH我?

谢谢!

回答

5

您正确构建了您的jar,但是当您运行代码时,您需要将类路径添加到包含org.apache.httpcomponents的jar中。如果您想将它打包成一个罐子,请使用maven assembly pluginjar-with-dependencies

顺便说一下,如果你不知道这一点,按照惯例,maven会将库jar文件下载到您的.m2\repository文件夹下的本地存储库。您应该能够在那里找到org.apache.httpcomponents

+0

可能要添加一个链接到程序集插件:http://maven.apache.org/plugins/maven-assembly-plugin/descriptor-refs.html#jar-with-dependencies – 2011-02-05 17:22:30