2012-04-13 108 views
1

我有一個現有的maven項目,我開始使用vaadin,在POM文件中添加依賴關係。然而,當我將VAADIN/themes文件夾放在src/main/resources下時,當使用maven構建它時,它會被複制到.war文件中的WEB-INF/classes文件夾中,而不是像它應該放在war根中成爲。我已經嘗試了所有明顯的組合,如src/main/webapp/VAADIN或src/main/VAADIN,甚至是src/main/webapp/WEB-INF/VAADIN,但他們都沒有將主題和其他vaadin資源。Maven,Vaadin和資源文件夾

我也嘗試生成一個像這裏描述的vaadin項目https://vaadin.com/wiki/-/wiki/Main/Using%20Vaadin%20with%20Maven但沒有成功。 maven的行爲方式相同。

有沒有人有想法如何正確設置maven項目上的Vaadin主題?我使用osx 10.6與maven 3

任何幫助將不勝感激。順祝商祺

回答

2

你應該在你的戰​​爭的根基上找到你在 src/main/webapp/ 中沒有任何定製的東西。

+0

你是對的,我只是輸入錯誤的文件名。感謝您的反饋 – madoke 2012-04-13 14:33:11

3

我不知道Vaadin明確,但可以使用Maven Resources plugin資源複製到一個特定的地方(任何你喜歡的,不只是目標文件夾)。所以,如果你想要一個名爲VAADIN文件夾從你的項目的根目錄複製到你的戰爭的根源,你可以設置它是這樣的:

<plugin> 
    <artifactId>maven-resources-plugin</artifactId> 
    <version>2.5</version> 
    <executions> 
    <execution> 
     <id>copy-resources</id> 
     <phase>validate</phase> 
     <goals> 
     <goal>copy-resources</goal> 
     </goals> 
     <configuration> 
     <outputDirectory>${basedir}/target/war</outputDirectory> 
     <resources> 
      <resource> 
      <directory>VAADIN</directory> 
      <filtering>false</filtering> 
      </resource> 
     </resources> 
     </configuration> 
    </execution> 
    </executions> 
</plugin> 

一般來說,src/main/resources文件夾用於這是爲了資源在類路徑上,並且src/main/webapp適用於應該位於webapp的WEB-INF文件夾中的資源。我建議在其他地方放置其他資源(可能是src/main/vaadin?)。如果你真的想把它放在src/main/resources中,並且你使用了我剛纔概述的方法,那麼你也需要將它排除在外Maven將其他東西複製到那裏 - 更容易避免它。