1. 程式人生 > >(轉)maven POM的中文參考手冊

(轉)maven POM的中文參考手冊


外掛管理
    pluginManagement:外掛管理以同樣的方式包括外掛元素,用於在特定的專案中配置。所有繼承於此專案的子專案都能使用。主要定義外掛的共同元素

擴充套件元素集合
主要包括以下的元素:
Directories
用於設定各種目錄結構,如下:
  <build>
    <sourceDirectory>${basedir}/src/main/java</sourceDirectory>
    <scriptSourceDirectory>${basedir}/src/main/scripts</scriptSourceDirectory>
    <testSourceDirectory>${basedir}/src/test/java</testSourceDirectory>
    <outputDirectory>${basedir}/target/classes</outputDirectory>
    <testOutputDirectory>${basedir}/target/test-classes</testOutputDirectory>
    ...
  </build>

Extensions


表示需要擴充套件的外掛,必須包括進相應的build路徑。

<project>
  <build>
    ...
    <extensions>
      <extension>
        <groupId>org.apache.maven.wagon</groupId>
        <artifactId>wagon-ftp</artifactId>
        <version>1.0-alpha-3</version>
      </extension>
    </extensions>
    ...
  </build>
</project>

Reporting

    用於在site階段輸出報表。特定的maven 外掛能輸出相應的定製和配置報表。
  <reporting>
    <plugins>
      <plugin>
        <outputDirectory>${basedir}/target/site</outputDirectory>
        <artifactId>maven-project-info-reports-plugin</artifactId>
        <reportSets>
          <reportSet></reportSet>
        </reportSets>
      </plugin>
    </plugins>
  </reporting>

Report Sets

    用於配置不同的目標,應用於不同的報表
<reporting>
    <plugins>
      <plugin>
        ...
        <reportSets>
          <reportSet>
            <id>sunlink</id>
            <reports>
              <report>javadoc</report>
            </reports>
            <inherited>true</inherited>
            <configuration>
              <links>
                <link>http://java.sun.com/j2se/1.5.0/docs/api/</link>
              </links>
            </configuration>
          </reportSet>
        </reportSets>
      </plugin>
    </plugins>
  </reporting>

更多的專案資訊
name:專案除了artifactId外,可以定義多個名稱
description: 專案描述
url: 專案url
inceptionYear:創始年份

Licenses
<licenses>
  <license>
    <name>Apache 2</name>
    <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
    <distribution>repo</distribution>
    <comments>A business-friendly OSS license</comments>
  </license>
</licenses>

Organization
配置組織資訊
  <organization>
    <name>Codehaus Mojo</name>
    <url>http://mojo.codehaus.org</url>
  </organization>

Developers
配置開發者資訊
<developers>
    <developer>
      <id>eric</id>
      <name>Eric</name>
      <email>[email protected]</email>
      <url>http://eric.propellors.net</url>
      <organization>Codehaus</organization>
      <organizationUrl>http://mojo.codehaus.org</organizationUrl>
      <roles>
        <role>architect</role>
        <role>developer</role>
      </roles>
      <timezone>-6</timezone>
      <properties>
        <picUrl>http://tinyurl.com/prv4t</picUrl>
      </properties>
    </developer>
  </developers>

Contributors
  <contributors>
    <contributor>
      <name>Noelle</name>
      <email>[email protected]</email>
      <url>http://noellemarie.com</url>
      <organization>Noelle Marie</organization>
      <organizationUrl>http://noellemarie.com</organizationUrl>
      <roles>
        <role>tester</role>
      </roles>
      <timezone>-5</timezone>
      <properties>
        <gtalk>[email protected]</gtalk>
      </properties>
    </contributor>
  </contributors>

環境設定

Issue Management
    定義相關的bug跟蹤系統,如bugzilla,testtrack,clearQuest等
  <issueManagement>
    <system>Bugzilla</system>
    <url>http://127.0.0.1/bugzilla</url>
  </issueManagement>
Continuous Integration Management
連續整合管理,基於triggers或者timings
  <ciManagement>
    <system>continuum</system>
    <url>http://127.0.0.1:8080/continuum</url>
    <notifiers>
      <notifier>
        <type>mail</type>
        <sendOnError>true</sendOnError>
        <sendOnFailure>true</sendOnFailure>
        <sendOnSuccess>false</sendOnSuccess>
        <sendOnWarning>false</sendOnWarning>
        <configuration><address>[email protected]</address></configuration>
      </notifier>
    </notifiers>
  </ciManagement>

Mailing Lists
  <mailingLists>
    <mailingList>
      <name>User List</name>
      <subscribe>[email protected]</subscribe>
      <unsubscribe>[email protected]</unsubscribe>
      <post>[email protected]</post>
      <archive>http://127.0.0.1/user/</archive>
      <otherArchives>
        <otherArchive>http://base.google.com/base/1/127.0.0.1</otherArchive>
      </otherArchives>
    </mailingList>
  </mailingLists>

SCM
  軟體配置管理,如cvs 和svn
  <scm>
    <connection>scm:svn:http://127.0.0.1/svn/my-project</connection>
    <developerConnection>scm:svn:https://127.0.0.1/svn/my-project</developerConnection>
    <tag>HEAD</tag>
    <url>http://127.0.0.1/websvn/my-project</url>
  </scm>

Repositories

配置同setting.xml中的開發庫

Plugin Repositories
配置同 repositories

Distribution Management
用於配置分發管理,配置相應的產品釋出資訊,主要用於釋出,在執行mvn deploy後表示要釋出的位置
1 配置到檔案系統
<distributionManagement>
<repository>
<id>proficio-repository</id>
<name>Proficio Repository</name>
<url>file://${basedir}/target/deploy</url>
</repository>
</distributionManagement>
2 使用ssh2配置
<distributionManagement>
<repository>
<id>proficio-repository</id>
<name>Proficio Repository</name>
<url>scp://sshserver.yourcompany.com/deploy</url>
</repository>
</distributionManagement>
3 使用sftp配置
<distributionManagement>
<repository>
<id>proficio-repository</id>
<name>Proficio Repository</name>
<url>sftp://ftpserver.yourcompany.com/deploy</url>
</repository>
</distributionManagement>
4 使用外在的ssh配置
    編譯擴充套件用於指定使用wagon外在ssh提供,用於提供你的檔案到相應的遠端伺服器。
<distributionManagement>
<repository>
<id>proficio-repository</id>
<name>Proficio Repository</name>
<url>scpexe://sshserver.yourcompany.com/deploy</url>
</repository>
</distributionManagement>
<build>
<extensions>
<extension>
<groupId>org.apache.maven.wagon</groupId>
<artifactId>wagon-ssh-external</artifactId>
<version>1.0-alpha-6</version>
</extension>
</extensions>
</build>

5 使用ftp配置
<distributionManagement>
<repository>
<id>proficio-repository</id>
<name>Proficio Repository</name>
<url>ftp://ftpserver.yourcompany.com/deploy</url>
</repository>
</distributionManagement>
<build>
<extensions>
<extension>
<groupId>org.apache.maven.wagon</groupId>
<artifactId>wagon-ftp</artifactId>
<version>1.0-alpha-6</version>
</extension>
</extensions>
</build>

repository 對應於你的開發庫,使用者資訊通過settings.xml中的server取得

Profiles
類似於settings.xml中的profiles,增加了幾個元素,如下的樣式:
  <profiles>
    <profile>
      <id>test</id>
      <activation>...</activation>
      <build>...</build>
      <modules>...</modules>
      <repositories>...</repositories>
      <pluginRepositories>...</pluginRepositories>
      <dependencies>...</dependencies>
      <reporting>...</reporting>
      <dependencyManagement>...</dependencyManagement>
      <distributionManagement>...</distributionManagement>
    </profile>
  </profiles>

相關推薦

maven POM中文參考手冊

外掛管理     pluginManagement:外掛管理以同樣的方式包括外掛元素,用於在特定的專案中配置。所有繼承於此專案的子專案都能使用。主要定義外掛的共同元素擴充套件元素集合主要包括以下的元素:Directories用於設定各種目錄結構,如下:  <build>    <source

Maven入門含實例教程

instance 如果 blog 設置 mys print onf download code Maven這個個項目管理和構建自動化工具,越來越多的開發人員使用它來管理項目中的jar包。接下來小寶鴿,將從下面幾個方向介紹maven: (1)Maven簡單介紹 (2)Mave

Mysql 中文參考手冊摘錄1 --資料庫連線

序論:         本文摘自網路,但暫時還沒有找到作者的署名,所以暫時空缺原作者,若有侵權行為請作者及時與我聯絡。         這是一個MySQL 5.7 的中文參考手冊,翻譯自官方文件,需要更詳細、準確的資訊 請查閱官方文件。 連線和斷開伺服器:  啟動m

Maven配置檔案pom.xml詳解

什麼是POM? POM是專案物件模型(Project Object Model)的簡稱,它是Maven專案中的檔案,使用XML表示,名稱叫做pom.xml。在Maven中,當談到Project的時候,不僅僅是一堆包含程式碼的檔案。一個Project往往包含一個配置檔案,包括了與開發者有關的,缺陷

翻譯:Libevent參考手冊:前言 (二)

1  從一萬英尺外看LibeventLibevent是用於編寫高速可移植非阻塞IO應用的庫,其設計目標是:v 可移植性:使用libevent編寫的程式應該可以在libevent支援的所有平臺上工作。即使沒有好的方式進行非阻塞IO,libevent也應該支援一般的方式,讓程式可以在受限的環境中執行。v 速度:l

翻譯:libevent參考手冊第二章:建立event_base (四)

呼叫event_config_avoid_method()可以通過名字讓libevent避免使用特定的可用後端。呼叫event_config_require_feature()讓libevent不使用不能提供所有指定特徵的後端。呼叫event_config_set_flag()讓libevent在建立even

翻譯:Libevent參考手冊第三章:與事件迴圈一起工作 (五)

預設情況下,event_base_loop()函式執行event_base直到其中沒有已經註冊的事件為止。執行迴圈的時候,函式重複地檢查是否有任何已經註冊的事件被觸發(比如說,讀事件的檔案描述符已經就緒,可以讀取了;或者超時事件的超時時間即將到達)。如果有事件被觸發,函式標記被觸發的事件為“啟用的”,並且執行

翻譯:libevent參考手冊第六章:bufferevent:概念和入門 (八)

bufferevent_setcb()函式修改bufferevent的一個或者多個回撥。readcb、writecb和eventcb函式將分別在已經讀取足夠的資料、已經寫入足夠的資料,或者發生錯誤時被呼叫。每個回撥函式的第一個引數都是發生了事件的bufferevent,最後一個引數都是呼叫buffereven

翻譯:Libevent參考手冊第一章:設定libevent (三)

evthread_lock_callbacks結構體描述的鎖回撥函式及其能力。對於上述版本,lock_api_version欄位必須設定為EVTHREAD_LOCK_API_VERSION。必須設定supported_locktypes欄位為EVTHREAD_LOCKTYPE_*常量的組合以描述支援的鎖型別(

翻譯:libevent參考手冊第七章:Bufferevent:高階話題 (九)

bufferevent_filter_new()函式建立一個封裝現有的“底層”bufferevent的過濾bufferevent。所有通過底層bufferevent接收的資料在到達過濾bufferevent之前都會經過“輸入”過濾器的轉換;所有通過底層bufferevent傳送的資料在被髮送到底層buffer

翻譯:libevent參考手冊第四章:與事件一起工作 (六)

libevent的基本操作單元是事件。每個事件代表一組條件的集合,這些條件包括:v 檔案描述符已經就緒,可以讀取或者寫入v 檔案描述符變為就緒狀態,可以讀取或者寫入(僅對於邊沿觸發IO)v 超時事件v 發生某訊號v 使用者觸發事件所有事件具有相似的生命週期。呼叫libevent函式設定事件並且關聯到event

翻譯:libevent參考手冊第八章:evbuffer:緩衝IO實用功能 (十)

{    /* Let's look at the first two chunks of buf, and write them to stderr. */int n, i;    struct evbuffer_iovec v[2];    n = evbuffer_peek(buf, -1, NULL,

Maven的安裝文字版Windows/Linux/Mac

版本 驗證 系統路徑 strong jdk1 編譯 found 編譯器 opts 以下內容引用自https://ayayui.gitbooks.io/tutorialspoint-maven/content/book/maven_environment_setup.html

重新編譯Nginx指導手冊【修復靜態編譯Openssl的Nginx漏洞 】

snippets asset 替換 業務需求 tps eight nbsp 出了 sof 1. 概述 當前爆出了Openssl漏洞,會泄露隱私信息,涉及的機器較多,環境迥異,導致修復方案都有所不同。不少服務器使用的Nginx,是靜態編譯opensssl,直接將open

maven snapshot和release版本的區別

依賴 註意 發行版 str 設置 方便 版本更新 版本庫 編譯打包 在使用maven過程中,我們在開發階段經常性的會有很多公共庫處於不穩定狀態,隨時需要修改並發布,可能一天就要發布一次,遇到bug時,甚至一天要發布N次。我們知道,maven的依賴管理是基於版本管理的,對於發

關於Tomcat的點點滴滴體系架構、處理http請求的過程、安裝和配置、目錄結構、設置壓縮和對中文文件名的支持、以及Catalina這個名字的由來……等

https 設置 重啟 specific 調用 持久化數據 所在 original apps 轉自:http://itfish.net/article/41668.html 總結Tomcat的體系架構、處理http請求的過程、安裝和配置、目錄結構、設置壓縮和對中文文件名

在Eclipse中創建Maven多模塊工程

http term water 表現 優化配置 -i sco 文件 man 背景:以前只總結了怎麽在命令行下創建maven的多模塊項目,在eclipse下怎麽創建不是很清楚。最近需要在git的資源庫中上傳多模塊項目,方便後期的維護,所以將網上的資料進行整理。 原文鏈接:h

jenkins+git+maven搭建自動化部署項目環境

operator 作用 主服務器 裏的 tag regexp vra 缺失 內容 知識背景 首先需要理解的是,Jenkins是幫我們將代碼進行統一的編譯打包、還可以放到tomcat容器中進行發布。 意思是我們通過配置,將以前:編譯、打包、上傳、部署到Tomcat中的過程交由

maven配置多倉庫鏡像

區別 組合 conf tail bar AI posit 奇葩 HR 原文地址:maven配置多倉庫鏡像 問題場景: 1、國內訪問maven默認遠程中央鏡像特別慢 2、用阿裏的鏡像替代遠程中央鏡像 3、大部分jar包都可以在阿裏鏡像中找到,部分jar包在阿裏鏡像中沒

添加Image Stream參考 開源容器雲OpenShift

添加 指向 容器雲 get .json examples 進行 github emp Image Stream是一組鏡像的集合,可以在一個Image Stream中定義一些名稱及標簽,並定義這些名字及標簽指向的具體鏡像。 使用Image Stream的目的是方便地將一組相關