2013-04-16 35 views
2

我的文件夾結構這樣Eclipse中,移動SRC輸出文件夾到WEB-INF/classes中

SampleWeb/ 
     src/main/ 
        java : All java classes <br/> 
        resources : All properties file etc<br/> 
        webapp : WEB-INF folder and other jsp pages 
     pom.xml 

現在,默認Eclipse構建創建目標文件夾,然後將所有輸出文件複製到目標文件夾像

target/classes/ 
       all .class files (of src folder) 
       all properties (of resource folder) 
       jsp files (of webapp folder, and ofcourse WEB-INF folder too) 

所以我在尋找的是,如何使用eclipse構建動態地將所有.class文件移動到WEB-INF/classes文件夾。

+0

你說「使用eclipse build」,但是你的項目佈局看起來是一個Maven項目。你確定你沒有使用m2e或Eclipse的其他Maven插件嗎? –

+0

看起來這是一個maven版本。那麼,對於Maven,'target/classes /'是複製o/p類的默認位置。您可以使用後期構建操作(例如maven copy task)將其他位置的類移動到其他位置 – Arpit

回答

1

真正是一個名字:src包含源。 src/main/webapp/src/main/webapp/WEB-INF/也是如此。它不應該包含構建工件(如類文件)。

使用Maven時,所有構建工件都會進入${project.build.directory},換句話說就是:target/。因爲如果你想有一個目錄從運行Web應用程序

你渴望擁有的類文件中scr/main/webapp/WEB-INF/結束了聲音。不要將類文件(源文件!)移動到src/main/webapp/WEB-INF(更多源文件!),您應該將它們都移動到其他地方,通常在target/以下。

有插件的主機,可以爲你做的,這取決於您的具體願望。有assembly plugin各種先進的組裝任務,有更簡單的插件,提供複製功能,並有插件專用於組裝Web應用程序(WAR plugin)或從Maven運行它們(Tomcat plugin)。

這允許你做任何事情,如戰爭,解開戰爭,瘦戰爭等

使用m2e你可以有這種照顧的背景,而在Eclipse中編輯。

1

你可以把我的例子作爲參考。 我用來將所有測試文件輸出到classes文件夾中,以便它們可以被編譯和打包在一起。 這是代碼片段。

<!-- define the output directory of test files --> 
    <testSourceDirectory>src/test/java</testSourceDirectory> 
    <testOutputDirectory>target/classes</testOutputDirectory> 
    <testResources> 
     <testResource> 
      <directory>src/test/java</directory> 
      <excludes> 
       <exclude>**/*.java</exclude> 
      </excludes> 
     </testResource> 
    </testResources>