黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

Maven教程
Maven常用命令應用
Maven修改倉庫地址
使用Eclipse創建Maven項目
Maven插件
Maven打包
Maven項目導入及轉換

Maven自動化構建

自動化構建定義了這樣一種場景: 在一個項目成功構建完成后,其相關的依賴工程即開始構建,這樣可以保證其依賴項目的穩定。

比如一個團隊正在開發一個項目 bus-core-api, 并且有其他兩個項目 app-web-ui 和 app-desktop-ui 依賴于這個項目。

app-web-ui 項目使用的是 bus-core-api 項目的 1.0 快照:

<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/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <groupId>app-web-ui</groupId>
   <artifactId>app-web-ui</artifactId>
   <version>1.0</version>
   <packaging>jar</packaging>
   <dependencies>
      <dependency>
      <groupId>bus-core-api</groupId>
         <artifactId>bus-core-api</artifactId>
         <version>1.0-SNAPSHOT</version>
      </dependency>
   </dependencies>
</project>

app-desktop-ui 項目使用的是 bus-core-api 項目的 1.0 快照:

<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/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <groupId>app-desktop-ui</groupId>
   <artifactId>app-desktop-ui</artifactId>
   <version>1.0</version>
   <packaging>jar</packaging>
   <dependencies>
      <dependency>
      <groupId>bus-core-api</groupId>
         <artifactId>bus-core-api</artifactId>
         <version>1.0-SNAPSHOT</version>
      </dependency>
   </dependencies>
</project>

bus-core-api 項目:

<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/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <groupId>bus-core-api</groupId>
   <artifactId>bus-core-api</artifactId>
   <version>1.0-SNAPSHOT</version>
   <packaging>jar</packaging>   
</project>

現在 app-web-ui 和 app-desktop-ui 項目的團隊要求不管 bus-core-api 項目何時變化,他們的構建過程都應當可以啟動。

使用快照可以確保最新的 bus-core-api 項目被使用,但要達到上面的要求,我們還需要做一些額外的工作。

可以使用兩種方式:

? 在 bus-core-api 項目的 pom 文件中添加一個 post-build 目標操作來啟動 app-web-ui 和 app-desktop-ui 項目的構建。

? 使用持續集成(CI) 服務器,比如 Hudson,來自行管理構建自動化。

使用Maven

修改 bus-core-api 項目的 pom.xml 文件。

<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/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <groupId>bus-core-api</groupId>
   <artifactId>bus-core-api</artifactId>
   <version>1.0-SNAPSHOT</version>
   <packaging>jar</packaging>
   <build>
   <plugins>
   <plugin>
      <artifactId>maven-invoker-plugin</artifactId>
      <version>1.6</version>
      <configuration>
         <debug>true</debug>
         <pomIncludes>
            <pomInclude>app-web-ui/pom.xml</pomInclude>
            <pomInclude>app-desktop-ui/pom.xml</pomInclude> 
         </pomIncludes>
      </configuration>
      <executions>
         <execution>
            <id>build</id>
            <goals>
               <goal>run</goal>
            </goals>
         </execution>
      </executions>
   </plugin>
   </plugins>
   <build>
</project>

打開命令控制臺,切換到 C:\ > MVN > bus-core-api 目錄下,然后執行以下命令。

C:\MVN\bus-core-api>mvn clean package -U

執行完命令后,Maven 將開始構建項目 bus-core-api。

[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------
[INFO] Building bus-core-api
[INFO]    task-segment: [clean, package]
[INFO] ------------------------------------------------------------------
...
[INFO] [jar:jar {execution: default-jar}]
[INFO] Building jar: C:\MVN\bus-core-ui\target\
bus-core-ui-1.0-SNAPSHOT.jar
[INFO] ------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------

bus-core-api 構建成功后,Maven 將開始構建 app-web-ui 項目。

[INFO] ------------------------------------------------------------------
[INFO] Building app-web-ui 
[INFO]    task-segment: [package]
[INFO] ------------------------------------------------------------------
...
[INFO] [jar:jar {execution: default-jar}]
[INFO] Building jar: C:\MVN\app-web-ui\target\
app-web-ui-1.0-SNAPSHOT.jar
[INFO] ------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------

app-web-ui 構建成功后,Maven 將開始構建 app-desktop-ui 項目。

[INFO] ------------------------------------------------------------------
[INFO] Building app-desktop-ui 
[INFO]    task-segment: [package]
[INFO] ------------------------------------------------------------------
...
[INFO] [jar:jar {execution: default-jar}]
[INFO] Building jar: C:\MVN\app-desktop-ui\target\
app-desktop-ui-1.0-SNAPSHOT.jar
[INFO] -------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] -------------------------------------------------------------------

使用持續集成服務器(CI)

如果使用 CI 服務器更,我們每次的一個新項目,比如說實例中的 app-mobile-ui,添加為依賴 bus-core-api 項目時,開發者就不需要更新 bus-core-api 項目的 pom。Hudson 將會借助 Maven 的依賴管理功能實現工程的自動化創建。

Hudson 把每個項目構建當成一次任務。在一個項目的代碼提交到 SVN (或者任何映射到 Hudson 的代碼管理工具)后,Hudson 將開始項目的構建任務,并且一旦此構建任務完成,Hudson 將自動啟動其他依賴的構建任務(其他依賴項目的構建)。

在上面的例子中,當 bus-core-ui 源代碼在 SVN 更新后,Hudson 開始項目構建。一旦構建成功,Hudson 自動地查找依賴的項目,然后開始構建 app-web-ui 和 app-desktop-ui 項目。

全部教程
主站蜘蛛池模板: 丝袜视频网在线观看 | 天天操操操操 | 国产高清一区二区三区免费视频 | 国产一级一片免费播放 | 亚洲 欧洲 日产 韩国在线 | 北条麻妃国产九九九精品视频 | 麻豆精品国产免费观看 | 亚洲欧美影院 | 国产99视频精品免费视频36 | 色综合小说天天综合网 | 毛片在线看免费 | 欧美日韩精品福利在线观看 | 婷婷影院在线观看 | 欧美本道 | 老年人一级毛片 | 国产伦码精品一区二区三区 | 日韩免费专区 | 一区二区亚洲视频 | 青青青视频自偷自拍视频1 青青青视频免费一区二区 青青青久热国产精品视频 青青青国产在线 | 91久久综合精品国产丝袜长腿 | 国产一二三四区中 | 日本香蕉视频在线观看 | 成人α片| 午夜精品网 | 日韩欧美综合在线 | 国产黄色在线观看 | 欧美成人精品一级高清片 | 国产午夜久久精品 | 伊人中文 | 国产午夜在线视频 | 日本资源网 | 好男人www社区影视在线 | 日日操日日摸 | 久久精品免费 | 午夜免费福利片 | 无遮挡h纯内动漫在线观看 无遮挡1000部拍拍拍免费观看 | 欧美亚洲国产日韩 | 欧美日韩一本二本 | 一级在线免费视频 | 91麻豆传传媒波多野衣久久看 | 深夜福利网站 |