国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - maven中pom.xml詳細介紹

maven中pom.xml詳細介紹

2021-01-30 12:12劉曉春 Java教程

最近在學習maven,這篇文章主要介紹了maven中pom.xml詳細介紹,具有一定參考價值,需要的朋友可以了解下。

POM 代表工程對象模型。它是使用 Maven 工作時的基本組建,是一個 xml 文件。它被放在工程根目錄下,文件命名為 pom.xml

POM 包含了關于工程和各種配置細節的信息,Maven 使用這些信息構建工程。

POM 也包含了目標和插件。當執行一個任務或者目標時,Maven 會查找當前目錄下的 POM,從其中讀取所需要的配置信息,然后執行目標。能夠在 POM 中設置的一些配置如下:

project dependencies
plugins
goals
build profiles
project version
developers
mailing list
在創建 POM 之前,我們首先確定工程組(groupId),及其名稱(artifactId)和版本,在倉庫中這些屬性是工程的唯一標識。

POM 舉例

?
1
2
3
4
5
6
7
8
9
10
11
<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>com.companyname.project-group</groupId>
  <artifactId>project</artifactId>
  <version>1.0</version>
 
</project>

需要說明的是每個工程應該只有一個 POM 文件。

所有的 POM 文件需要 project 元素和三個必須的字段:groupId, artifactId,version。
在倉庫中的工程標識為 groupId:artifactId:version
POM.xml 的根元素是 project,它有三個主要的子節點:

 

節點 描述
groupId 這是工程組的標識。它在一個組織或者項目中通常是唯一的。例如,一個銀行組織 com.company.bank 擁有所有的和銀行相關的項目。
artifactId 這是工程的標識。它通常是工程的名稱。例如,消費者銀行。groupId 和 artifactId 一起定義了 artifact 在倉庫中的位置。
version 這是工程的版本號。在 artifact 的倉庫中,它用來區分不同的版本。例如:
com.company.bank:consumer-banking:1.0
com.company.bank:consumer-banking:1.1.

 

Super POM
所有的 POM 都繼承自一個父 POM(無論是否顯式定義了這個父 POM)。父 POM 也被稱作 Super POM,它包含了一些可以被繼承的默認設置。

Maven 使用 effective pom(Super pom 加上工程自己的配置)來執行相關的目標,它幫助開發者在 pom.xml 中做盡可能少的配置,當然這些配置可以被方便的重寫。

查看 Super POM 默認配置的一個簡單方法是執行以下命令:mvn help:effective-pom

在你的電腦上的任意目錄下創建一個 pom.xml 文件,使用上面提到的示例 pom 中的內容。

在下面的例子中,我們在 C:\MVN\project 目錄中創建了一個 pom.xml 文件。

現在打開命令控制臺,到 pom.xml 所在的目錄下執行以下 mvn 命令。

?
1
C:\MVN\project>mvn help:effective-pom

Maven 將會開始處理并顯示 effective-pom。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
[INFO] Scanning for projects...
[INFO] Searching repository for plugin with prefix: 'help'.
[INFO] ------------------------------------------------------------------------
[INFO] Building Unnamed - com.companyname.project-group:project-name:jar:1.0
[INFO]  task-segment: [help:effective-pom] (aggregator-style)
[INFO] ------------------------------------------------------------------------
[INFO] [help:effective-pom {execution: default-cli}]
[INFO]
 
.....
 
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: < 1 second
[INFO] Finished at: Thu Jul 05 11:41:51 IST 2012
[INFO] Final Memory: 6M/15M
[INFO] ------------------------------------------------------------------------

Effective POM 的結果就像在控制臺中顯示的一樣,經過繼承、插值之后,使配置生效。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
<?xml version="1.0" encoding="UTF-8"?>
<!-- ================================================================= -->
<!--                                  -->
<!-- Generated by Maven Help Plugin on 2012-07-05T11:41:51       -->
<!-- See: http://maven.apache.org/plugins/maven-help-plugin/      -->
<!--                                  -->
<!-- ================================================================= -->
 
<!-- ================================================================= -->
<!--                                  -->
<!-- Effective POM for project                     -->
<!-- 'com.companyname.project-group:project-name:jar: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 h
ttp://maven.apache.org/xsd/maven-4.0.0.xsd">
 <modelVersion>4.0.0</modelVersion>
 <groupId>com.companyname.project-group</groupId>
 <artifactId>project</artifactId>
 <version>1.0</version>
 <build>
  <sourceDirectory>C:\MVN\project\src\main\java</sourceDirectory>
  <scriptSourceDirectory>src/main/scripts</scriptSourceDirectory>
  <testSourceDirectory>C:\MVN\project\src\test\java</testSourceDirectory>
  <outputDirectory>C:\MVN\project\target\classes</outputDirectory>
  <testOutputDirectory>C:\MVN\project\target\test-classes</testOutputDirectory>
  <resources>
   <resource>
    <mergeId>resource-0</mergeId>
    <directory>C:\MVN\project\src\main\resources</directory>
   </resource>
  </resources>
  <testResources>
   <testResource>
    <mergeId>resource-1</mergeId>
    <directory>C:\MVN\project\src\test\resources</directory>
   </testResource>
  </testResources>
  <directory>C:\MVN\project\target</directory>
  <finalName>project-1.0</finalName>
  <pluginManagement>
   <plugins>
    <plugin>
     <artifactId>maven-antrun-plugin</artifactId>
     <version>1.3</version>
    </plugin>
    <plugin>
     <artifactId>maven-assembly-plugin</artifactId>
     <version>2.2-beta-2</version>
    </plugin>
    <plugin>
     <artifactId>maven-clean-plugin</artifactId>
     <version>2.2</version>
    </plugin>
    <plugin>
     <artifactId>maven-compiler-plugin</artifactId>
     <version>2.0.2</version>
    </plugin>
    <plugin>
     <artifactId>maven-dependency-plugin</artifactId>
     <version>2.0</version>
    </plugin>
    <plugin>
     <artifactId>maven-deploy-plugin</artifactId>
     <version>2.4</version>
    </plugin>
    <plugin>
     <artifactId>maven-ear-plugin</artifactId>
     <version>2.3.1</version>
    </plugin>
    <plugin>
     <artifactId>maven-ejb-plugin</artifactId>
     <version>2.1</version>
    </plugin>
    <plugin>
     <artifactId>maven-install-plugin</artifactId>
     <version>2.2</version>
    </plugin>
    <plugin>
     <artifactId>maven-jar-plugin</artifactId>
     <version>2.2</version>
    </plugin>
    <plugin>
     <artifactId>maven-javadoc-plugin</artifactId>
     <version>2.5</version>
    </plugin>
    <plugin>
     <artifactId>maven-plugin-plugin</artifactId>
     <version>2.4.3</version>
    </plugin>
    <plugin>
     <artifactId>maven-rar-plugin</artifactId>
     <version>2.2</version>
    </plugin>
    <plugin>
     <artifactId>maven-release-plugin</artifactId>
     <version>2.0-beta-8</version>
    </plugin>
    <plugin>
     <artifactId>maven-resources-plugin</artifactId>
     <version>2.3</version>
    </plugin>
    <plugin>
     <artifactId>maven-site-plugin</artifactId>
     <version>2.0-beta-7</version>
    </plugin>
    <plugin>
     <artifactId>maven-source-plugin</artifactId>
     <version>2.0.4</version>
    </plugin>
    <plugin>
     <artifactId>maven-surefire-plugin</artifactId>
     <version>2.4.3</version>
    </plugin>
    <plugin>
     <artifactId>maven-war-plugin</artifactId>
     <version>2.1-alpha-2</version>
    </plugin>
   </plugins>
  </pluginManagement>
  <plugins>
   <plugin>
    <artifactId>maven-help-plugin</artifactId>
    <version>2.1.1</version>
   </plugin>
  </plugins>
 </build>
 <repositories>
  <repository>
   <snapshots>
    <enabled>false</enabled>
   </snapshots>
   <id>central</id>
   <name>Maven Repository Switchboard</name>
   <url>http://repo1.maven.org/maven2</url>
  </repository>
 </repositories>
 <pluginRepositories>
  <pluginRepository>
   <releases>
    <updatePolicy>never</updatePolicy>
   </releases>
   <snapshots>
    <enabled>false</enabled>
   </snapshots>
   <id>central</id>
   <name>Maven Plugin Repository</name>
   <url>http://repo1.maven.org/maven2</url>
  </pluginRepository>
 </pluginRepositories>
 <reporting>
  <outputDirectory>C:\MVN\project\target/site</outputDirectory>
 </reporting>
</project>

在上面的 pom.xml 中,你可以看到 Maven 在執行目標時需要用到的默認工程源碼目錄結構、輸出目錄、需要的插件、倉庫和報表目錄。

Maven 的 pom.xml 文件也不需要手工編寫。

Maven 提供了大量的原型插件來創建工程,包括工程結構和 pom.xml。

總結

以上就是本文關于maven中pom.xml詳細介紹的全部內容,希望對大家有所幫助。有什么問題可以隨時留言,歡迎大家留下寶貴的意見,小編會及時修改。感謝朋友們對本站的支持!

原文鏈接:http://blog.csdn.net/augus3344/article/details/51793489

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲视频 欧美视频 | 午夜在线观看视频网站 | 亚洲二区在线观看 | 亚洲香蕉视频 | 国产精品久久久久久吹潮 | 欧美 日韩 中文 | 亚洲污视频 | 一区二区成人网 | 日韩欧美专区 | 国产一区 | 色日韩| 成年片| 国内外成人在线视频 | 国产成人a亚洲精品 | 久久综合一区二区 | 97国产超碰 | 视频一区二区三区中文字幕 | 久久久极品 | 国产美女一区二区 | 日韩精品免费视频 | 亚洲欧美一区二区三区四区 | 国产男女免费视频 | 久久国产精品一区二区 | 午夜精品久久久久久久久久久久久 | 亚洲一级毛片 | 一区二区三区亚洲 | 亚洲成人av一区二区三区 | 午夜羞羞 | 成人免费av| 色综合99| 九热在线视频 | 欧美一级全黄 | 久久亚洲综合 | 欧美日韩视频在线第一区 | 精品国产不卡一区二区三区 | 国产精品手机在线 | 日韩视频免费 | 日韩精品二区 | 国产一区视频在线看 | 2020国产在线| 中文字幕专区 |