2013-12-10 133 views
1

我使用Maven的覆蓋,包括在POM依賴戰爭如下Maven的覆蓋和碼頭插件

<dependency> 
    <groupId>com.test.dependent</groupId> 
    <artifactId>dependent</artifactId> 
    <version>1.0-SNAPSHOT</version> 
    <type>war</type> 
    <scope>runtime</scope> 
</dependency> 

生成的WAR文件看起來不錯,它包含了資源在這兩個項目中,如果我把它部署到我的Tomcat服務器一切正常。

但是我習慣了使用碼頭插件在Maven和運行我建立與目標碼頭:運行

<build> 
    <plugins> 
    <plugin> 
    <groupId>org.mortbay.jetty</groupId> 
    <artifactId>maven-jetty-plugin</artifactId> 
    <version>6.1.10</version> 
    </plugin> 
    </plugins> 
    <finalName>myproject</finalName> 
</build> 

不幸的是,它看起來像碼頭將不包括從依賴項目的文件。我怎樣才能配置插件來考慮相關的項目?

回答

0

我不知道該maven-war-plugin包覆蓋自動(我總是添加一個明確<overlays>部分的配置),但如果這是真的,只需運行mvn package jetty:run應該工作,因爲jetty:run還檢查目標目錄。

+0

這似乎沒有幫助,雖然在我的目標文件夾中,它看起來像所有文件將在那裏,所以他們在戰爭文件中,來自依賴項目的文件不能通過瀏覽器訪問 – Paul

+0

只需注意: jetty我得到日誌消息 [INFO] Webapp目錄= C:\ Users \ paul \ develop \ myproject \ src \ main \ webapp 在這個文件中我當然沒有來自依賴項目的文件。任何想法如何配置碼頭爲了從目標文件? – Paul

+1

@Paul:除了上述war-plugin配置中覆蓋層的明確定義之外,我不知道 - 否則它對我來說是非常有用的。儘管('6.1.25'),我確實使用了更新版本的'maven-jetty-plugin'。 –

0

Jetty 7.0.2 and higher可以使用jetty:rununpackOverlays配置:

<webAppConfig> 
    ... 
    <unpackOverlays>true</unpackOverlays> 
    ...   
</webAppConfig> 

在碼頭6,你唯一的選擇就是使用jetty:run-war了點。