0

で実行可能な jar を実行しようとしていpom.xmlますが、couchbase 外部リポジトリが含まれていません。

すべてが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... ではありません

前もって感謝します。

4

2 に答える 2

0

スコープ「提供」をcouchbase-client依存関係から削除してみてください。これは、とにかく実行時に提供されるため、この依存関係を含めないアセンブリ プラグインの指示です。

于 2013-06-25T11:02:42.893 に答える
0

couchbase-client のスコープを「provided」と定義しました。つまり、コンパイル時に必要ですが、デプロイする必要はありません。コードが実行される場所では、必要なクラスが既に存在するためです (たとえば、Java EE API クラスJava EE アプリケーション サーバーで Java EE アプリケーションを実行します)。

質問は次のとおりです。「提供された」スコープは正しいですか?

于 2013-06-25T11:03:33.227 に答える