m2eでEclipse Kepler SR2を使用しています。jar に依存する Web プロジェクトがあります。
目標パッケージで「Run as -> Maven Build...」を使用し、「Check Workspace artifacts」がチェックされている場合、ターゲットの lib フォルダーには、jar 自体ではなく、依存関係の jar の名前のフォルダーが含まれます。パッケージ化された war には、jar の代わりにフォルダーも含まれています。ただし、m2e で tomcat にデプロイすると、jar は正しくデプロイされます。
maven-war-plugin バージョン 2.4 を使用しています。
これは私のWARポンです:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.modelity.loans</groupId>
<artifactId>loans-parent</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<artifactId>loans-web</artifactId>
<packaging>war</packaging>
<dependencies>
<dependency>
<groupId>com.modelity.loans</groupId>
<artifactId>loans-core</artifactId>
<version>0.0.1-SNAPSHOT</version>
<type>jar</type>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.4</version>
</plugin>
</plugins>
</build>
</project>
そして、これは依存関係 jar のアーティファクト座標です。
<parent>
<groupId>com.modelity.loans</groupId>
<artifactId>loans-lib</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<artifactId>loans-core</artifactId>
<packaging>jar</packaging>
maven パッケージのゴールのデバッグ出力を見てきました。war プラグインが jar を処理しているとき、それは言う
[DEBUG] Processing: loans-core-0.0.1-SNAPSHOT.jar
jar がコピーされたことを示すことなく。後でログに表示されます:
adding directory WEB-INF/lib/loans-core-0.0.1-SNAPSHOT.jar/
埋め込み Maven (3.0.4) と外部 Maven (3.0.5) の両方を試しました。私の同僚は kepler SR1 を使用しており、同じ問題を経験しています。
私はそれをすべてカバーしたと思います。報告されたバグは見つかりませんでした。
ありがとう、リオール