使用Maven帮助构建和运行Java项目

inc*_*nza 3 java build classpath maven

我想尝试一下本文中的示例代码:Load Recovery.gov将数据授予CouchDB数据库.我熟悉Java语言,但我对Maven构建系统一无所知.

我已经设法通过运行'mvn package'来构建项目,但是在尝试运行它时我得到以下内容:

djm@surfer:~/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)
Run Code Online (Sandbox Code Playgroud)

我是否需要做其他事情来正确设置我的CLASSPATH?

谢谢!

Coo*_*ans 5

您正确构建了jar,但是当您运行代码时,需要将类路径添加到包含的jar中org.apache.httpcomponents.如果你想将它打包成一个jar,那么使用maven程序集插件 jar-with-dependencies.

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