[英]CouchDB4j/ mvn dependencies are missing
我無法以編程方式設置與本地CouchDB的連接。
我正在使用ouchDb4j-,在我運行並嘗試連接到數據庫之前,一切看起來都不錯。
我的控制台拋出以下錯誤:
Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: org/apache/http/params/HttpParams
[...]
Caused by: java.lang.ClassNotFoundException: org.apache.http.params.HttpParams
由於我的小型應用程序未找到類,因此我檢查了我的依賴關系-一切都很好。 我有:
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpcore</artifactId>
<version>4.0-beta3</version>
</dependency>
<dependency>
<groupId>commons-httpclient</groupId>
<artifactId>commons-httpclient</artifactId>
<version>3.1</version>
</dependency>
其中應包含所有必需的特定於http的.jar(尤其是第一個應包含httpParams二進制文件;源: http ://mvnrepository.com/artifact/org.apache.httpcomponents/httpcore/4.0-beta3)。
為了防止包括錯誤的二進制文件緩存在我的系統上,我正在運行以下命令:
mvn clean && mvn軟件包
我還刪除了.m2文件夾。
到處搜尋會提示我我的類路徑可能是錯誤的,導致運行時缺少依賴項。 但是我已經在pom中設置了我的類路徑; 看這里:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.4</version>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<classpathPrefix>lib/</classpathPrefix>
<mainClass>Packagename.Main</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
希望任何人都可以給我一個主意,以便我可以解決此問題:)
最好的祝福。
將這些依賴項添加到插件聲明中,如下所示:
<plugin>
<groupId>...</groupId>
<artifactId>...</artifactId>
<version>...</version>
<dependencies>
...
</dependencies>
</plugin>
插件有自己的類路徑
找到了解決方案。
問題是執行期間缺少依賴項。
為了確保在運行時綁定了所有必需的文件,我必須包括以下插件:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>1.6</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
</execution>
</executions>
</plugin>
如果我做對的話,它將所有依賴項綁定到“超級” jar上...來源: https : //maven.apache.org/plugins/maven-shade-plugin/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.