2017-07-14 7 views
0

、私はいくつかのサードパーティのjarファイル(存在しないオンライン)を含むように要求されたためにMavenのWebプロジェクトを持っているため、戦争中に例外を見つけたので、私はMavenのWebプロジェクト、クラスは、外部のjarファイル

<dependency> 
    <groupId>com.smas.cluster</groupId> 
    <artifactId>cluster-smas</artifactId> 
    <version>2.0-SNAPSHOT</version> 
    <scope>system</scope> 
    <systemPath>${project.basedir}/src/main/resources/cluster-smas-2.0-SNAPSHOT.jar</systemPath> 
</dependency> 

を使用してそれらをインストールしていません私が直面している問題は、mavenをクリーンな状態で実行して、第三者のjarファイルを含むdidnotを生成したときです。 は、検索した後、私は(プロジェクトのルートディレクトリに作成)libフォルダにjarファイルをコピーして、私は

<plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-war-plugin</artifactId> 
     <version>2.0.2</version> 
     <configuration> 
      <webResources> 
      <resource> 
       <directory>${project.basedir}/libs/</directory> 
       <targetPath>WEB-INF/lib</targetPath> 
      </resource> 
      </webResources> 
     </configuration> 
    </plugin> 
</plugins> 

にjarファイルをファイルポンポンに次のコードを使用した溶液は、今私のlibフォルダからWEB-INFにコピーされました/ lib/in生成されたwarファイル。しかし、私はサービスを実行すると、クラスのエラーが例外を見つけることができません。

+0

このエラーを表示できますか? libがlibフォルダにあり、まだそのエラーが表示されている場合は、見つからないクラスがそのjarファイルに存在しないことを意味します。多分それはそれの依存からです。 –

+0

クラスがある瓶をチェックしました。理由はありますか?私はそれがmavenで行われるべきであるように私は適切な方法ではなく、jarファイルを追加していますか? – user4906240

+0

あなたのwarファイルが実際にその上にjarファイルを持つはずの実行中のコンテナ(たとえばtomcat)がチェックされていますか? –

答えて

0

systemスコープとsystemPathを削除し、warプラグインを削除して、依存関係の宣言だけを残してください。

<dependency> 
    <groupId>com.smas.cluster</groupId> 
    <artifactId>cluster-smas</artifactId> 
    <version>2.0-SNAPSHOT</version> 
</dependency> 

プロジェクトをビルドします。あなたの依存関係のJARはWEB-INF/libに現れ、クラスは実行時に利用可能になります。

関連する問題