2010-07-26 49 views
2

我是Maven的新手,並且已經瀏覽了文檔,因爲我遵循Hibernate教程http://docs.jboss.org/hibernate/stable/core/reference/en/html_single/#tutorial-firstapp-mvn使用Maven設置標準目錄佈局

我已經安裝了Maven,併成功地設置了一個web應用程序,但是這並沒有包含教程中提到的所有標準目錄。我會生氣嗎?我正在使用maven-archetype-webapp構建我的Maven項目。這給了我arh-webapp\src\main\resourcesarh-webapp\src\main\webapp目錄,但我錯過了鏈接上提到的不少目錄http://maven.apache.org/guides/introduction/introduction-to-the-standard-directory-layout.html

當然,我不必手動添加這些?如果沒有,那麼Hibernate文檔沒有提到爲了實現教程中使用的目錄結構而使用的原型。請有人啓發我。

我需要使用什麼樣的原型才能使上述目錄加上src/main/java目錄?如果沒有這種原型,那麼可以使用Maven輕鬆追加這些原型?如何?

回答

1

並非所有提到的目錄都是您的標準Web應用程序所必需的。實際上,存在src/main/java,src/main/resources和src/main/webapp目錄背後的原因是由於您使用的原型。

恕我直言,這本書名爲「Better Builds with Maven」將爲您提供更好的服務; Sonatype books on Maven也可能有所幫助。完整的Maven documentation也可作爲PDF文件供將來參考。

但是爲了以防萬一,你需要使用的術語比較清楚,這裏的一些:

原型:一個項目的模式。簡單的Web應用程序(不依賴於其他框架/庫)具有自己的原型,使用Spring,Hibernate,Seam等的應用程序也是如此。一些原型會導致創建不同的目錄,因爲它們是以這種方式編碼的。在大多數情況下,您可能可以更改目錄結構,但我無法保證每個原型。例如,儘管這需要在POM中進行額外的配置,但很有可能將源代碼放在'src'而不是'src/main/java'中。

生命週期,階段和目標:Maven構建生命週期是一系列階段,每個階段執行一組目標。可以命令Maven執行構建階段,這會導致執行所有階段,直到包括指定的階段。

Maven插件:Maven插件包含一個或多個目標。目標不需要綁定到階段,但通常你會將它們綁定到特定的階段。插件是Maven中所有操作的基礎;即使您只是編譯應用程序,也使用插件(Maven編譯器插件是Maven發行版中的核心插件)。

我希望上述有幫助,但我建議遵循參考書。

+0

嗨維尼特雷諾茲 欣賞文檔參考。我發現下面的鏈接已經回答了我的問題:http://maven.apache.org/guides/mini/guide-creating-archetypes.html。我需要構建包含我的其他目錄的描述符。我明天會設置這個,因爲我已經在今晚的這段時間花了太多時間了.-) – AndyRED 2010-07-26 20:59:56

2

當然,你必須手動添加這些。

只需創建根據Maven約定丟失的那些目錄。請記住,Maven Archetype只是一個節省時間配置工作空間的起點。在一些Archetypes自己遇到很多問題後,我習慣於使用基本的web-app-archetype,然後自己定製它,作爲Maven的初學者,你會做得更好,並且會學到很多東西。

問候。

+0

乾杯StudiousJoseph。欣賞建議。很高興知道別人遇到過問題。我意識到我可以自己添加這些目錄,但我注意到使用標準原型我可以生成Web原型構建中缺少的其他目錄。我想知道是否有一個兼有兩種標準目錄結構的原型。我想我問了很多。如果我無法輕鬆實現目標,我很難看到Maven的觀點。 :-) – AndyRED 2010-07-26 20:41:29

+0

這裏http://docs.codehaus.org/display/MAVENUSER/Archetypes+List是一個Maven原型列表。嘗試看看是否有這些實際上完成了你在你的應用程序中尋找的東西:) – 2010-07-26 20:56:45

+0

再次感謝。時間做一些嚴肅的閱讀我認爲:-) – AndyRED 2010-07-27 19:09:00