文档章节

maven pom 1

懒人code
 懒人code
发布于 2015/12/18 17:02
字数 1396
阅读 49
收藏 1

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>


1

<!-- 引入本地第三方jar -->
		<dependency>
			<groupId>com.ck</groupId>
			<artifactId>commons-httpclient</artifactId>
			<version>1.0.0</version>
			 <type>jar</type>
			<scope>system</scope>
			<systemPath>${basedir}/my_lib/commons-httpclient.jar</systemPath>
		</dependency>


<artifactId> maven-artifact </artifactId> 
<!-- 依赖的版本号。 在Maven 2里, 也可以配置成版本号的范围。 --> 
<version> 3.8.1 </version> 
<!-- 依赖类型,默认类型是jar。它通常表示依赖的文件的扩展名,但也有例外。一个类型可以被映射成另外一个扩展名或分类器。类型经常和使用的打包方式对应,尽管这也有例外。一些类型的例子:jar,war,ejb-client和test-jar。如果设置extensions为 true,就可以在plugin里定义新的类型。所以前面的类型的例子不完整。 --> 
<type> jar </type> 
<!-- 依赖的分类器。分类器可以区分属于同一个POM,但不同构建方式的构件。分类器名被附加到文件名的版本号后面。例如,如果你想要构建两个单独的构件成JAR,一个使用Java 1.4编译器,另一个使用Java 6编译器,你就可以使用分类器来生成两个单独的JAR构件。 --> 
<classifier></classifier> 
<!-- 依赖范围。在项目发布过程中,帮助决定哪些构件被包括进来。欲知详情请参考依赖机制。 
- compile :默认范围,用于编译 
- provided:类似于编译,但支持你期待jdk或者容器提供,类似于classpath 
- runtime: 在执行时需要使用 
- test: 用于test任务时使用 
- system: 需要外在提供相应的元素。通过systemPath来取得 
- systemPath: 仅用于范围为system。提供相应的路径 
- optional: 当项目自身被依赖时,标注依赖是否传递。用于连续依赖时使用 --> 
<scope> test </scope> 
<!-- 仅供system范围使用。注意,不鼓励使用这个元素,并且在新的版本中该元素可能被覆盖掉。该元素为依赖规定了文件系统上的路径。需要绝对路径而不是相对路径。推荐使用属性匹配绝对路径,例如${java.home}。 --> 
<systemPath></systemPath> 
<!-- 当计算传递依赖时, 从依赖构件列表里,列出被排除的依赖构件集。即告诉maven你只依赖指定的项目,不依赖项目的依赖。此元素主要用于解决版本冲突问题 --> 
<exclusions> 
<exclusion> 
<artifactId> spring-core </artifactId> 
<groupId> org.springframework </groupId> 
</exclusion> 
</exclusions> 
<!-- 可选依赖,如果你在项目B中把C依赖声明为可选,你就需要在依赖于B的项目(例如项目A)中显式的引用对C的依赖。可选依赖阻断依赖的传递性。 --> 
<optional> true </optional> 
</dependency> 
</dependencies> 
<!-- 不赞成使用. 现在Maven忽略该元素. --> 
<reports></reports> 
<!-- 该元素描述使用报表插件产生报表的规范。当用户执行“mvn site”,这些报表就会运行。 在页面导航栏能看到所有报表的链接。 --> 
<reporting> 
<!-- true,则,网站不包括默认的报表。这包括“项目信息”菜单中的报表。 --> 
<excludeDefaults /> 
<!-- 所有产生的报表存放到哪里。默认值是${project.build.directory}/site。 --> 
<outputDirectory /> 
<!-- 使用的报表插件和他们的配置。 --> 
<plugins> 
<!-- plugin元素包含描述报表插件需要的信息 --> 
<plugin> 
<!-- 报表插件在仓库里的group ID --> 
<groupId /> 
<!-- 报表插件在仓库里的artifact ID --> 
<artifactId /> 
<!-- 被使用的报表插件的版本(或版本范围) --> 
<version /> 
<!-- 任何配置是否被传播到子项目 --> 

<inherited /> 

<!-- 报表插件的配置 --> 

<configuration />

2

<!-- 项目分发信息,在执行mvn deploy后表示要发布的位置。有了这些信息就可以把网站部署到远程服务器或者把构件部署到远程仓库。 --> 
<distributionManagement> 
<!-- 部署项目产生的构件到远程仓库需要的信息 --> 
<repository> 
<!-- 是分配给快照一个唯一的版本号(由时间戳和构建流水号)?还是每次都使用相同的版本号?参见repositories/repository元素 --> 
<uniqueVersion /> 
<id> banseon-maven2 </id> 
<name> banseon maven2 </name> 
<url> file://${basedir}/target/deploy </url> 
<layout /> 
</repository> 
<!-- 构件的快照部署到哪里?如果没有配置该元素,默认部署到repository元素配置的仓库,参见distributionManagement/repository元素 --> 
<snapshotRepository> 
<uniqueVersion /> 
<id> banseon-maven2 </id> 
<name> Banseon-maven2 Snapshot Repository </name> 
<url> scp://svn.baidu.com/banseon:/usr/local/maven-snapshot </url> 
<layout /> 
</snapshotRepository> 
<!-- 部署项目的网站需要的信息 --> 
<site> 
<!-- 部署位置的唯一标识符,用来匹配站点和settings.xml文件里的配置 --> 
<id> banseon-site </id> 
<!-- 部署位置的名称 --> 
<name> business api website </name> 
<!-- 部署位置的URL,按protocol://hostname/path形式 --> 
<url> 
scp://svn.baidu.com/banseon:/var/www/localhost/banseon-web 
</url> 
</site> 
<!-- 项目下载页面的URL。如果没有该元素,用户应该参考主页。使用该元素的原因是:帮助定位那些不在仓库里的构件(由于license限制)。 --> 
<downloadUrl /> 
<!-- 如果构件有了新的group ID和artifact ID(构件移到了新的位置),这里列出构件的重定位信息。 --> 
<relocation> 
<!-- 构件新的group ID --> 
<groupId /> 
<!-- 构件新的artifact ID --> 
<artifactId /> 
<!-- 构件新的版本号 --> 
<version /> 
<!-- 显示给用户的,关于移动的额外信息,例如原因。 --> 
<message /> 
</relocation> 
<!-- 给出该构件在远程仓库的状态。不得在本地项目中设置该元素,因为这是工具自动更新的。有效的值有:none(默认),converted(仓库管理员从Maven 1 POM转换过来),partner(直接从伙伴Maven 2仓库同步过来),deployed(从Maven 2实例部署),verified(被核实时正确的和最终的)。 --> 
<status /> 
</distributionManagement> 
<!-- 以值替代名称,Properties可以在整个POM中使用,也可以作为触发条件(见settings.xml配置文件里activation元素的说明)。格式是<name>value</name>。 --> 
<properties /> 
</project>

3

© 著作权归作者所有

下一篇: maven pom
懒人code
粉丝 4
博文 51
码字总数 23386
作品 0
深圳
高级程序员
私信 提问
Apache Maven --- [POM]

什么是POM 项目对象模型即POM是Maven的基本工作单元.它是一个包含了项目信息和Maven用来构建项目的配置详情的XML文件.对大多数项目来说它包含了默认值.例如默认的构建目录是target;默认的源码...

moonsnake777
2016/05/20
101
0
maven安装与创建多模块项目

maven是一个比较流行的项目管理工具,在最近参与的项目中,也使用了maven,本文主要对在项目中的使用做一个总结,主要涉及maven的安装于配置、maven创建多模块项目。 1、maven安装与配置 ma...

wangyan9110
2014/04/01
416
0
运行generate-project.bat报错

@江南白衣 你好,想跟你请教个问题: [INFO] Generating project in ./generated-projects [INFO] Scanning for projects... [INFO] [INFO] ----------------------------------------------......

空香沾手
2014/01/24
2.3K
7
Maven父子依赖关系

1、Eclipse下Maven的父子结构展示 2、创建父项目,pom文件 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocatio......

CurtainRight
2016/03/30
328
0
Could not calculate build plan

在eclipse下用maven新建web项目,新建过程中,报异常如下: Could not calculate build plan: Plugin org.apache.maven.plugins:maven-war-plugin:2.2 or one of its dependencies could no......

liuhuics10
2015/12/22
759
0

没有更多内容

加载失败,请刷新页面

加载更多

密码加密与微服务鉴权JWT详细使用教程

[TOC] 1.1、了解微服务状态 微服务集群中的每个服务,对外提供的都是Rest风格的接口,而Rest风格的一个最重要的规范就是:服务的无状态性。 什么是无状态? 1.服务端不保存任何客户端请求者信...

庭前云落
19分钟前
6
0
Xamarin.FormsShell基础教程(9)Shell相关类体系

Xamarin.FormsShell基础教程(9)Shell相关类体系 在Shell中,最为主要的类是Shell类。Shell类实现了大多数应用程序所需的基本UI功能的页面。除此以外,常用的类还有ShellContent、Tab、Fly...

大学霸
21分钟前
4
0
聊聊MVC、MVP、MVVM吧

先来介绍下本文结构: 三种框架的具体概念 在安卓开发上的写法、优缺点 1.概念 1.1 MVC MVC模式(Model–view–controller)是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模...

二营长的意大利炮手
38分钟前
4
0
如果解释Python,什么是.pyc文件?

我已经了解Python是一种解释型语言......但是,当我查看我的Python源代码时,我看到.pyc文件,Windows将其识别为“编译的Python文件”。 这些来自哪里? #1楼 Python代码经历了两个阶段。 第...

javail
43分钟前
4
0
.NET Core初览

初览的应用场景为游戏服务器开发。所以测试在侧重点上更强于IO和密集型计算 TODO

梦想游戏人
46分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部