現實中的Maven項目

《Maven權威指南》第六章. 一個多模塊項目 ,以及第七章. 多模塊企業級項目 都已翻譯完畢。

 

一個現實生活中的Maven項目只有一個POM文件,那是不現實的。典型的項目會和數據庫交互,和Web Service交互,有自己的業務邏輯,暴露Web Service,有命令行應用程序,有Web應用程序……這個時候,必須分一下模塊,鬆散耦合,清晰關聯,增加重用等等好處不用多說。這兩章內容,就是介紹怎樣使用Maven的模塊集成及聚合相關功能的。

 

看一看多模塊企業級項目的模塊關係圖:

這裏有一個父模塊,一個web應用,一個命令行應用,一個持久化模塊,一個業務邏輯模塊,一個模型對象模塊。基本上,這個圖能很典型的代表很多項目的結構了。該圖中,展現了模塊之間的各種關係,有依賴(dependency),傳遞性依賴(transitive dependency),子模塊(module of),繼承(inherits from)。

 

這裏配置子模塊的XML片段爲:

  <modules>
    <module>simple-command</module>
    <module>simple-model</module>
    <module>simple-weather</module>
    <module>simple-persist</module>
    <module>simple-webapp</module>
  </modules>

配置繼承的XML片段爲:

  <parent>
    <groupId>org.sonatype.mavenbook.ch07</groupId>
    <artifactId>simple-parent</artifactId>
    <version>1.0</version>
  </parent>
  <artifactId>simple-model</artifactId>
  <packaging>jar</packaging>

配置依賴的XML片段爲:

    <dependency>
      <groupId>org.sonatype.mavenbook.ch07</groupId>
      <artifactId>simple-model</artifactId>
      <version>1.0</version>
    </dependency>

關於傳遞性依賴,這裏做個簡單的解釋,項目A依賴於項目B,而項目B依賴於項目C,那麼項目A就自動會擁有對於項目C的傳遞性依賴。 如上圖中,simple-webapp模塊直接依賴於simple-weather模塊,而simple-weather模塊直接依賴於simple-model模塊,那麼simple-webapp就擁有對於simple-model的傳遞性依賴。

 

第七章的內容,真正涉及Maven的其實不是很多,相反,作者花了很大篇幅介紹使用Hibernate,Spring,Velocity等等較爲流行的Java開源框架,這些內容也是實際開發中常常會遇見的。

 

項目越大,Maven所體現的優勢也就越大,要真正在實際項目中使用Maven,那麼,這兩章內容必定能夠很好的幫助你開始。

發佈了1 篇原創文章 · 獲贊 1 · 訪問量 4574
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章