posts - 241,  comments - 116,  trackbacks - 0
          1.  繼承
          TCSTAR7034
          之前我們學(xué)習(xí)Maven的聚合機(jī)制遺留個(gè)問題,就是多個(gè)模塊的pom.xml文件的內(nèi)容出現(xiàn)了冗余、重復(fù)的內(nèi)容,解決這個(gè)問題其實(shí)使用Maven的繼承機(jī)制即可,就像Java的繼承一樣,父類就像一個(gè)模板,子類繼承自父類,那么有些通用的方法、變量都不必在子類中再重復(fù)聲明了,Maven的繼承機(jī)制類似,在一個(gè)父級別的Maven的pom文件中定義了相關(guān)的常量、依賴、插件等等配置后,實(shí)際項(xiàng)目模塊可以繼承此父項(xiàng)目的pom文件,重復(fù)的項(xiàng)不必顯示的再聲明一遍了,相當(dāng)于父Maven項(xiàng)目就是個(gè)模板,等著其他子模塊去繼承。不過父Maven項(xiàng)目要高度抽象,高度提取公共的部分(交集)。筆者使用了先前的聚合項(xiàng)目模塊做的父模板pom,實(shí)際上很多機(jī)構(gòu)也是這么實(shí)施的。商賬追收
          <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
              xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
              <modelVersion>4.0.0</modelVersion>
              <groupId>com.liuyan.account</groupId>
              <artifactId>MavenAccount-aggregator</artifactId>
              <version>0.0.1-SNAPSHOT</version>
              <packaging>pom</packaging>

              <properties>
                  <springversion>2.5.6</springversion>
                  <junitversion>2.5.6</junitversion>
              </properties>

              <dependencies>
                  <dependency>
                      <groupId>org.springframework</groupId>
                      <artifactId>spring-core</artifactId>
                      <version>${springversion}</version>
                  </dependency>
                  <dependency>
                      <groupId>org.springframework</groupId>
                      <artifactId>spring-beans</artifactId>
                      <version>${springversion}</version>
                  </dependency>
                  <dependency>
                      <groupId>org.springframework</groupId>
                      <artifactId>spring-context</artifactId>
                      <version>${springversion}</version>
                  </dependency>
                  <dependency>
                      <groupId>org.springframework</groupId>
                      <artifactId>spring-context-support</artifactId>
                      <version>${springversion}</version>
                  </dependency>
                  <dependency>
                      <groupId>javax.mail</groupId>
                      <artifactId>mail</artifactId>
                      <version>1.4.1</version>
                  </dependency>
                  <dependency>
                      <groupId>junit</groupId>
                      <artifactId>junit</artifactId>
                      <version>4.7</version>
                      <scope>test</scope>
                  </dependency>
                  <dependency>
                      <groupId>com.icegreen</groupId>
                      <artifactId>greenmail</artifactId>
                      <version>1.3.1b</version>
                      <scope>test</scope>
                  </dependency>
              </dependencies>

              <build>
                  <resources>
                      <resource>
                          <directory>src/main/resource</directory>
                      </resource>
                  </resources>
                  <plugins>
                      <plugin>
                          <groupId>org.apache.maven.plugins</groupId>
                          <artifactId>maven-source-plugin</artifactId>
                          <version>2.1.1</version>
                          <executions>
                              <execution>
                                  <id>buildSource</id>
                                  <goals>
                                      <goal>jar-no-fork</goal>
                                  </goals>
                                  <inherited>false</inherited>
                                  <configuration>
                                  </configuration>
                              </execution>
                          </executions>
                      </plugin>
                      <plugin>
                          <groupId>org.apache.maven.plugins</groupId>
                          <artifactId>maven-compiler-plugin</artifactId>
                          <configuration>
                              <target>1.5</target>
                          </configuration>
                      </plugin>
                  </plugins>
              </build>

              <modules>
                  <module>../MavenAccount-email</module>
                  <module>../MavenAccount-persist</module>
              </modules>
          </project>
          posted on 2011-06-08 09:29 墻頭草 閱讀(1040) 評論(1)  編輯  收藏

          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          人人游戲網(wǎng) 軟件開發(fā)網(wǎng) 貨運(yùn)專家
          主站蜘蛛池模板: 东平县| 古丈县| 巫溪县| 南涧| 泸水县| 淳化县| 常州市| 若羌县| 泗水县| 云南省| 额敏县| 洪湖市| 孟州市| 三原县| 剑河县| 长宁县| 蓬安县| 奇台县| 从江县| 云安县| 恩施市| 巢湖市| 九台市| 山丹县| 靖远县| 来凤县| 龙井市| 边坝县| 响水县| 扎赉特旗| 哈巴河县| 韶山市| 石嘴山市| 三门县| 双流县| 香港 | 伊宁市| 河曲县| 板桥市| 正镶白旗| 荆门市|