maven POM.xml 标签详解

柔光的暖阳◎ 2022-09-24 01:26 222阅读 0赞

出于对作者的尊重和感谢,原文地址为http://blog.csdn.net/sunzhenhua0608/article/details/32938533

[xml] view plain copy

print ?

  1. <**project** xmlns=”http://maven.apache.org/POM/4.0.0“
  2. xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance“
  3. xsi:schemaLocation=”http://maven.apache.org/POM/4.0.0http://maven.apache.org/maven-v4\_0\_0.xsd"**>**
  4. <**parent**>
  5. <**artifactId**/>
  6. <**groupId**/>
  7. <**version**/>
  8. <**relativePath**/>
  9. </**parent**>
  10. <**modelVersion**>4.0.0</**modelVersion**>
  11. <**groupId**>asia.banseon</**groupId**>
  12. <**artifactId**>banseon-maven2</**artifactId**>
  13. <**packaging**>jar</**packaging**>
  14. <**version**>1.0-SNAPSHOT</**version**>
  15. <**name**>banseon-maven</**name**>
  16. <**url**>http://www.baidu.com/banseon**</url>**
  17. <**description**>A maven project to study maven.</**description**>
  18. <**prerequisites**>
  19. <**maven**/>
  20. </**prerequisites**>
  21. <**issueManagement**>
  22. <**system**>jira</**system**>
  23. <**url**>http://jira.baidu.com/banseon**</url>**
  24. </**issueManagement**>
  25. <**ciManagement**>
  26. <**system**/>
  27. <**url**/>
  28. <**notifiers**>
  29. <**notifier**>
  30. <**type**/>
  31. <**sendOnError**/>
  32. <**sendOnFailure**/>
  33. <**sendOnSuccess**/>
  34. <**sendOnWarning**/>
  35. <**address**/>
  36. <**configuration**/>
  37. </**notifier**>
  38. </**notifiers**>
  39. </**ciManagement**>
  40. <**inceptionYear**/>
  41. <**mailingLists**>
  42. <**mailingList**>
  43. <**name**>Demo</**name**>
  44. <**post**>banseon@126.com</**post**>
  45. <**subscribe**>banseon@126.com</**subscribe**>
  46. <**unsubscribe**>banseon@126.com</**unsubscribe**>
  47. <**archive**>http:/hi.baidu.com/banseon/demo/dev/</**archive**>
  48. </**mailingList**>
  49. </**mailingLists**>
  50. <**developers**>
  51. <**developer**>
  52. <**id**>HELLO WORLD</**id**>
  53. <**name**>banseon</**name**>
  54. <**email**>banseon@126.com</**email**>
  55. <**url**/>
  56. <**roles**>
  57. <**role**>Project Manager</**role**>
  58. <**role**>Architect</**role**>
  59. </**roles**>
  60. <**organization**>demo</**organization**>
  61. <**organizationUrl**>http://hi.baidu.com/banseon**</organizationUrl>**
  62. <**properties**>
  63. <**dept**>No</**dept**>
  64. </**properties**>
  65. <**timezone**>-5</**timezone**>
  66. </**developer**>
  67. </**developers**>
  68. <**contributors**>
  69. <**contributor**>
  70. <**name/><email/><url/><organization/><organizationUrl/><roles/><timezone/><properties/>**
  71. </**contributor**>
  72. </**contributors**>
  73. <**licenses**>
  74. <**license**>
  75. <**name**>Apache 2</**name**>
  76. <**url**>http://www.baidu.com/banseon/LICENSE-2.0.txt**</url>**
  77. <!—项目分发的主要方式:
  78. repo,可以从Maven库下载
  79. manual, 用户必须手动下载和安装依赖—>
  80. <**distribution**>repo</**distribution**>
  81. <**comments**>A business-friendly OSS license</**comments**>
  82. </**license**>
  83. </**licenses**>
  84. <**scm**>
  85. <**connection**>
  86. scm:svn:http://svn.baidu.com/banseon/maven/banseon/banseon-maven2-trunk(dao-trunk)
  87. </**connection**>
  88. <**developerConnection**>
  89. scm:svn:http://svn.baidu.com/banseon/maven/banseon/dao-trunk
  90. </**developerConnection**>
  91. <**tag**/>
  92. <**url**>http://svn.baidu.com/banseon**</url>**
  93. </**scm**>
  94. <**organization**>
  95. <**name**>demo</**name**>
  96. <**url**>http://www.baidu.com/banseon**</url>**
  97. </**organization**>
  98. <**build**>
  99. <**sourceDirectory**/>
  100. <**scriptSourceDirectory**/>
  101. <**testSourceDirectory**/>
  102. <**outputDirectory**/>
  103. <**testOutputDirectory**/>
  104. <**extensions**>
  105. <**extension**>
  106. <**groupId**/>
  107. <**artifactId**/>
  108. <**version**/>
  109. </**extension**>
  110. </**extensions**>
  111. <**defaultGoal**/>
  112. <**resources**>
  113. <**resource**>
  114. <**targetPath**/>
  115. <**filtering**/>
  116. <**directory**/>
  117. <**includes**/>
  118. <**excludes**/>
  119. </**resource**>
  120. </**resources**>
  121. <**testResources**>
  122. <**testResource**>
  123. <**targetPath/><filtering/><directory/><includes/><excludes**/>
  124. </**testResource**>
  125. </**testResources**>
  126. <**directory**/>
  127. <**finalName**/>
  128. <**filters**/>
  129. <**pluginManagement**>
  130. <**plugins**>
  131. <**plugin**>
  132. <**groupId**/>
  133. <**artifactId**/>
  134. <**version**/>
  135. <**extensions**/>
  136. <**executions**>
  137. <**execution**>
  138. <**id**/>
  139. <**phase**/>
  140. <**goals**/>
  141. <**inherited**/>
  142. <**configuration**/>
  143. </**execution**>
  144. </**executions**>
  145. <**dependencies**>
  146. <**dependency**>
  147. ……
  148. </**dependency**>
  149. </**dependencies**>
  150. <**inherited**/>
  151. <**configuration**/>
  152. </**plugin**>
  153. </**plugins**>
  154. </**pluginManagement**>
  155. <**plugins**>
  156. <**plugin**>
  157. <**groupId/><artifactId/><version/><extensions/>**
  158. <**executions**>
  159. <**execution**>
  160. <**id/><phase/><goals/><inherited/><configuration**/>
  161. </**execution**>
  162. </**executions**>
  163. <**dependencies**>
  164. <**dependency**>
  165. ……
  166. </**dependency**>
  167. </**dependencies**>
  168. <**goals/><inherited/><configuration**/>
  169. </**plugin**>
  170. </**plugins**>
  171. </**build**>
  172. <**profiles**>
  173. <**profile**>
  174. <**id**/>
  175. <!—自动触发profile的条件逻辑。Activation是profile的开启钥匙。profile的力量来自于它
  176. 能够在某些特定的环境中自动使用某些特定的值;这些环境通过activation元素指定。activation元素并不是激活profile的唯一方式。—>
  177. <**activation**>
  178. <**activeByDefault**/>
  179. <**jdk**/>
  180. <**os**>
  181. <**name**>Windows XP</**name**>
  182. <**family**>Windows</**family**>
  183. <**arch**>x86</**arch**>
  184. <**version**>5.1.2600</**version**>
  185. </**os**>
  186. <!—如果Maven检测到某一个属性(其值可以在POM中通过${名称}引用),其拥有对应的名称和值,Profile就会被激活。如果值
  187. 字段是空的,那么存在属性名称字段就会激活profile,否则按区分大小写方式匹配属性值字段—>
  188. <**property**>
  189. <**name**>mavenVersion</**name**>
  190. <**value**>2.0.3</**value**>
  191. </**property**>
  192. <!—提供一个文件名,通过检测该文件的存在或不存在来激活profile。missing检查文件是否存在,如果不存在则激活
  193. profile。另一方面,exists则会检查文件是否存在,如果存在则激活profile。—>
  194. <**file**>
  195. <**exists**>/usr/local/hudson/hudson-home/jobs/maven-guide-zh-to-production/workspace/</**exists**>
  196. <**missing**>/usr/local/hudson/hudson-home/jobs/maven-guide-zh-to-production/workspace/</**missing**>
  197. </**file**>
  198. </**activation**>
  199. <**build**>
  200. <**defaultGoal**/>
  201. <**resources**>
  202. <**resource**>
  203. <**targetPath/><filtering/><directory/><includes/><excludes**/>
  204. </**resource**>
  205. </**resources**>
  206. <**testResources**>
  207. <**testResource**>
  208. <**targetPath/><filtering/><directory/><includes/><excludes**/>
  209. </**testResource**>
  210. </**testResources**>
  211. <**directory/><finalName/><filters**/>
  212. <**pluginManagement**>
  213. <**plugins**>
  214. <**plugin**>
  215. <**groupId/><artifactId/><version/><extensions/>**
  216. <**executions**>
  217. <**execution**>
  218. <**id/><phase/><goals/><inherited/><configuration**/>
  219. </**execution**>
  220. </**executions**>
  221. <**dependencies**>
  222. <**dependency**>
  223. ……
  224. </**dependency**>
  225. </**dependencies**>
  226. <**goals/><inherited/><configuration**/>
  227. </**plugin**>
  228. </**plugins**>
  229. </**pluginManagement**>
  230. <**plugins**>
  231. <**plugin**>
  232. <**groupId/><artifactId/><version/><extensions/>**
  233. <**executions**>
  234. <**execution**>
  235. <**id/><phase/><goals/><inherited/><configuration**/>
  236. </**execution**>
  237. </**executions**>
  238. <**dependencies**>
  239. <**dependency**>
  240. ……
  241. </**dependency**>
  242. </**dependencies**>
  243. <**goals/><inherited/><configuration**/>
  244. </**plugin**>
  245. </**plugins**>
  246. </**build**>
  247. <**modules**/>
  248. <**repositories**>
  249. <**repository**>
  250. <**releases**>
  251. <**enabled/><updatePolicy/><checksumPolicy**/>
  252. </**releases**>
  253. <**snapshots**>
  254. <**enabled/><updatePolicy/><checksumPolicy**/>
  255. </**snapshots**>
  256. <**id/><name/><url/><layout/>**
  257. </**repository**>
  258. </**repositories**>
  259. <**pluginRepositories**>
  260. <**pluginRepository**>
  261. <**releases**>
  262. <**enabled/><updatePolicy/><checksumPolicy**/>
  263. </**releases**>
  264. <**snapshots**>
  265. <**enabled/><updatePolicy/><checksumPolicy**/>
  266. </**snapshots**>
  267. <**id/><name/><url/><layout/>**
  268. </**pluginRepository**>
  269. </**pluginRepositories**>
  270. <**dependencies**>
  271. <**dependency**>
  272. ……
  273. </**dependency**>
  274. </**dependencies**>
  275. <**reports**/>
  276. <**reporting**>
  277. ……
  278. </**reporting**>
  279. <**dependencyManagement**>
  280. <**dependencies**>
  281. <**dependency**>
  282. ……
  283. </**dependency**>
  284. </**dependencies**>
  285. </**dependencyManagement**>
  286. <**distributionManagement**>
  287. ……
  288. </**distributionManagement**>
  289. <**properties**/>
  290. </**profile**>
  291. </**profiles**>
  292. <**modules**/>
  293. <**repositories**>
  294. <**repository**>
  295. <**releases**>
  296. <**enabled**/>
  297. <**updatePolicy**/>
  298. <**checksumPolicy**/>
  299. </**releases**>
  300. <**snapshots**>
  301. <**enabled/><updatePolicy/><checksumPolicy**/>
  302. </**snapshots**>
  303. <**id**>banseon-repository-proxy</**id**>
  304. <**name**>banseon-repository-proxy</**name**>
  305. !--远程仓库URL,按protocol://hostname/path形式--
  306. <**url**>http://192.168.1.169:9999/repository/**</url>**
  307. <**layout**>default</**layout**>
  308. </**repository**>
  309. </**repositories**>
  310. <**pluginRepositories**>
  311. <**pluginRepository**>
  312. ……
  313. </**pluginRepository**>
  314. </**pluginRepositories**>
  315. <**dependencies**>
  316. <**dependency**>
  317. <**groupId**>org.apache.maven</**groupId**>
  318. <**artifactId**>maven-artifact</**artifactId**>
  319. <**version**>3.8.1</**version**>
  320. <**type**>jar</**type**>
  321. <**classifier></classifier>**
  322. <!—依赖范围。在项目发布过程中,帮助决定哪些构件被包括进来。欲知详情请参考依赖机制。
    • compile :默认范围,用于编译
    • provided:类似于编译,但支持你期待jdk或者容器提供,类似于classpath
    • runtime: 在执行时需要使用
    • test: 用于test任务时使用
    • system: 需要外在提供相应的元素。通过systemPath来取得
    • systemPath: 仅用于范围为system。提供相应的路径
    • optional: 当项目自身被依赖时,标注依赖是否传递。用于连续依赖时使用—>
  323. <**scope**>test</**scope**>
  324. <**systemPath></systemPath>**
  325. <**exclusions**>
  326. <**exclusion**>
  327. <**artifactId**>spring-core</**artifactId**>
  328. <**groupId**>org.springframework</**groupId**>
  329. </**exclusion**>
  330. </**exclusions**>
  331. <**optional**>true</**optional**>
  332. </**dependency**>
  333. </**dependencies**>
  334. <**reports></reports>**
  335. <**reporting**>
  336. <**excludeDefaults**/>
  337. <**outputDirectory**/>
  338. <**plugins**>
  339. <**plugin**>
  340. <**groupId**/>
  341. <**artifactId**/>
  342. <**version**/>
  343. <**inherited**/>
  344. <**configuration**/>
  345. <**reportSets**>
  346. <**reportSet**>
  347. <**id**/>
  348. <**configuration**/>
  349. <**inherited**/>
  350. <**reports**/>
  351. </**reportSet**>
  352. </**reportSets**>
  353. </**plugin**>
  354. </**plugins**>
  355. </**reporting**>
  356. <**dependencyManagement**>
  357. <**dependencies**>
  358. <**dependency**>
  359. ……
  360. </**dependency**>
  361. </**dependencies**>
  362. </**dependencyManagement**>
  363. <**distributionManagement**>
  364. <**repository**>
  365. <**uniqueVersion**/>
  366. <**id**>banseon-maven2</**id**>
  367. <**name**>banseon maven2</**name**>
  368. <**url**>file://${basedir}/target/deploy</**url**>
  369. <**layout**/>
  370. </**repository**>
  371. <**snapshotRepository**>
  372. <**uniqueVersion**/>
  373. <**id**>banseon-maven2</**id**>
  374. <**name**>Banseon-maven2 Snapshot Repository</**name**>
  375. <**url**>scp://svn.baidu.com/banseon:/usr/local/maven-snapshot</**url**>
  376. <**layout**/>
  377. </**snapshotRepository**>
  378. <**site**>
  379. <**id**>banseon-site</**id**>
  380. <**name**>business api website</**name**>
  381. !--部署位置的URL,按protocol://hostname/path形式--
  382. <**url**>
  383. scp://svn.baidu.com/banseon:/var/www/localhost/banseon-web
  384. </**url**>
  385. </**site**>
  386. <**downloadUrl**/>
  387. <**relocation**>
  388. <**groupId**/>
  389. <**artifactId**/>
  390. <**version**/>
  391. <**message**/>
  392. </**relocation**>
  393. <**status**/>
  394. </**distributionManagement**>
  395. <**properties**/>
  396. </**project**>

发表评论

表情:
评论列表 (有 0 条评论,222人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Maven中optional标签详解

    这一篇文章应该是全网讲解optional最细致的,因为我都是拿我自己的试验来证明,从试验当中也发现了很多出乎意外的知识!感兴趣的跟着小编一块来学习呀! 目录

    相关 Maven POM 用法及标签详解

    POM(Project Object Model,项目对象模型)是Maven工程的基本工作单元,是一个xml文件,包含了项目的基本信息,用于描述项目如何构建,声明项目依赖,等等

    相关 maven POM.xml 标签详解

     pom作为项目对象模型。通过xml表示maven项目,使用pom.xml来实现。主要描述了项目:包括配置文件;开发者需要遵循的规则,缺陷管理系统,组织和licenses,项目

    相关 maven中scope标签详解

    前言 最近在做itoo的pom优化工作,发现对于maven依赖管理中的scope标签还是有不明白的地方,所以今天就来总结一下这方面的知识,scope在maven的依赖管理