0

Mavenビルドツールを使用しています。私の意図は、別の絶対フォルダー[例:C:\ test1.jar、C:\test2.jar]で使用可能なjarファイルをクラスパスに追加することです。

そのために、pomファイルに以下を追加します。

<plugin>
 <artifactId>maven-war-plugin</artifactId>
 <version>2.2</version>
 <configuration>
  <archive>
   <manifest>
    <addClasspath>true</addClasspath>         
   </manifest>
   <manifestEntries> 
     <Class-Path>C:/test1.jar, C:/test2.jar</Class-Path> 
   </manifestEntries>
  </archive>
 </configuration>
</plugin> 

戦争で利用可能なMANIFEST.MFファイルのクラスパスにjarが追加されていることがわかりましたが、戦争が展開されると、「java.lang.ClassNotFoundException」[test1.jarまたはtest2.jarに関連]が原因で失敗します。 。

これは、MANIFEST.MFのクラスパスに追加されたtest1.jarとtest2.jarがクラスパスに追加されていないことを意味しますか、それともここで何かが足りないか間違っていますか?

warファイルのMANIFEST.MFまたは他のアイデアを使用して、クラスパスへの絶対パスで使用可能なjarファイルを追加するのを手伝ってください。

4

1 に答える 1

2

より良い解決策は、jar を maven リポジトリに追加してから、通常の依存関係のように使用することです。jar を maven リポジトリに追加するコマンドを次に示します。

mvn install:install-file -Dfile=<path-to-file> -DgroupId=<group-id> \
    -DartifactId=<artifact-id> -Dversion=1.0 -Dpackaging=jar

そして、 pom.xml で

<dependency>
    <groupId><group-id></groupId>
    <artifactId><artifact-id></artifactId>
    <version>1.0</version>
</dependency>
于 2012-04-25T10:26:09.167 に答える