2014-04-30 22 views
4

我正在使用Eclipse Kepler SR2和m2e。 我有一個依賴於jar的web項目。帶有maven工作區依賴關係的Eclipse - 打包的war包含文件夾而不是jar

當我使用「Run as - > Maven Build ...」運行目標包並選擇「檢查工作區工件」時,目標庫中的lib文件夾包含一個具有依賴關係jar名稱的文件夾,而不是罐子本身。打包的戰爭還包含一個文件夾,而不是一個罐子。但是,在使用m2e部署到tomcat時,jar會正確部署。

我使用maven-war-plugin版本2.4。

這是我的抗戰POM:

<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> 

而且這是依賴罐子的神器座標:

<parent> 
    <groupId>com.modelity.loans</groupId> 
    <artifactId>loans-lib</artifactId> 
    <version>0.0.1-SNAPSHOT</version> 
</parent> 
<artifactId>loans-core</artifactId> 
<packaging>jar</packaging> 

我看的行家包目標調試輸出。當戰爭插件正在處理罐子時,它說

[DEBUG] Processing: loans-core-0.0.1-SNAPSHOT.jar 

沒有指出罐子已被複制。 後來在日誌中我看到:

adding directory WEB-INF/lib/loans-core-0.0.1-SNAPSHOT.jar/ 

我都試過嵌入的Maven(3.0.4)和外部的Maven(3.0.5)。 我的同事使用開普勒SR1,並遇到同樣的問題。

我想我已經把它全部覆蓋了。會很高興的一些建議,找不到任何報告的錯誤。

感謝, 利奧爾

回答

1

嘗試安裝JAR作爲自己的maven-受控假象:

mvn install:install-file -Dfile=my.jar -DgroupId=com.mycorp -DartifactId=my-jar -Dversion=1.0 -Dpackaging=jar 

然後把它定義爲你的戰爭

+1

謝謝行家依賴,但這種解決方案不依賴於解決工作區依賴關係。 –

相關問題