0

我試圖做一個可執行的JAR與我pom.xml,但不包括couchbase外部存儲庫。JAR-與依賴性不包括外部存儲庫

一切都在Eclipse中運行正常。我已經通過在POM中的couchbase客戶端:

<repositories> 
    <repository> 
     <id>couchbase</id> 
     <name>Couchbase Maven Repository</name> 
     <layout>default</layout> 
     <url>http://files.couchbase.com/maven2/</url> 
     <snapshots> 
      <enabled>false</enabled> 
     </snapshots> 
    </repository> 
</repositories> 

... 

<dependency> 
    <groupId>com.fasterxml.jackson.core</groupId> 
    <artifactId>jackson-core</artifactId> 
    <version>2.1.3</version> 
</dependency> 
<dependency> 
    <groupId>couchbase</groupId> 
    <artifactId>couchbase-client</artifactId> 
    <version>1.1.7</version> 
    <scope>provided</scope> 
</dependency> 

和插件:

<plugin> 
    <artifactId>maven-assembly-plugin</artifactId> 
    <configuration> 
     <archive> 
     <manifest> 
      <mainClass>fully.qualified.MainClass</mainClass> 
     </manifest> 
     </archive> 
     <descriptorRefs> 
     <descriptorRef>jar-with-dependencies</descriptorRef> 
     </descriptorRefs> 
    </configuration> 
    <executions> 
     <execution> 
     <id>make-assembly</id> <!-- this is used for inheritance merges --> 
     <phase>package</phase> <!-- bind to the packaging phase --> 
     <goals> 
      <goal>single</goal> 
     </goals> 
     </execution> 
    </executions> 
    </plugin> 

com.fasterxml.jackson.core包括在罐子,但com.couchbase.client ...不是

在此先感謝。

回答

0

嘗試刪除範圍從couchbase-客戶依賴「設置」。這表明assembly-plugin不包含這種依賴性,因爲它將在運行時被提供

+0

謝謝!我複製了這段代碼。對不起:( –

0

您將couchbase-client的範圍定義爲「provided」,這意味着:您在編譯時需要它,噸需要部署它,因爲無論代碼運行,(當您運行在Java EE應用服務器的Java EE應用程序如Java EE的API類)需要的類已經存在。

所以問題是:範圍「規定」是否正確?