Maven学习记录(一)--IDEA下环境配置
2017-02-01 10:15
555 查看
一.什么是Maven?
Maven 是一个项目管理和整合工具。Maven 为开发者提供了一套完整的构建生命周期框架。开发团队几乎不用花多少时间就能够自动完成工程的基础构建配置,因为 Maven 使用了一个标准的目录结构和一个默认的构建生命周期。二.Maven能帮助开发者做什么?
构建文档生成
报告
依赖
SCMs
发布
分发
邮件列表
总的来说,Maven 简化了工程的构建过程,并对其标准化。它无缝衔接了编译、发布、文档生成、团队合作和其他任务。Maven 提高了重用性,负责了大部分构建相关的任务。
三.Maven的setting.xml配置文件
<?xml version="1.0" encoding="UTF-8"?> <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd"> <!-- 本地仓库的位置 --> <localRepository>D:/develop/maven/my_local_repository</localRepository> <!-- 表示是否使用交互模式,默认是true;如果设为false,那么当Maven需要用户进行输入的时候,它会使用一个默认值。 --> <interactiveMode>true</interactiveMode> <!-- 表示是否离线,默认为false,这个属性表示在Maven进行项目编译和部署等操作时是否允许Maven进行联网来下载所需要的信息。 --> <offline>false</offline> <!-- 在pluginGroups元素下面可以定义一系列的pluginGroup元素。表示当通过plugin的前缀来解析plugin的时候到哪里寻找。pluginGroup元素指定的是plugin的groupId。默认情况下,Maven会自动把org.apache.maven.plugins和org.codehaus.mojo添加到pluginGroups下。 --> <pluginGroups> </pluginGroups> <!-- 其下面可以定义一系列的proxy子元素,表示Maven在进行联网时需要使用到的代理。当设置了多个代理的时候第一个标记active为true的代理将会被使用。下面是一个使用代理的例子: --> <!-- <proxies> <proxy> <id>xxx</id> <active>true</active> <protocol>http</protocol> <username>用户名</username> <password>密码</password> <host>代理服务器地址</host> <port>代理服务器的端口</port> <nonProxyHosts>不使用代理的主机</nonProxyHosts> </proxy> </proxies> --> <proxies> </proxies> <!-- 其下面可以定义一系列的server子元素,表示当需要连接到一个远程服务器的时候需要使用到的验证方式。这主要有username/password和privateKey/passphrase这两种方式。以下是一个使用servers的示例: --> <!-- <servers> <server> <id>id</id> <username>用户名</username> <password>密码</password> </server> </servers> --> <servers> </servers> <!-- 用于定义一系列的远程仓库的镜像。我们可以在pom中定义一个下载工件的时候所使用的远程仓库。但是有时候这个远程仓库会比较忙,所以这个时候人们就想着给它创建镜像以缓解远程仓库的压力,也就是说会把对远程仓库的请求转换到对其镜像地址的请求。每个远程仓库都会有一个id,这样我们就可以创建自己的mirror来关联到该仓库,那么以后需要从远程仓库下载工件的时候Maven就可以从我们定义好的mirror站点来下载,这可以很好的缓解我们远程仓库的压力。在我们定义的mirror中每个远程仓库都只能有一个mirror与它关联,也就是说你不能同时配置多个mirror的mirrorOf指向同一个repositoryId。 --> <mirrors> <mirror> <id>UK</id> <mirrorOf>central</mirrorOf> <url>http://uk.maven.org/maven2</url> </mirror> <mirror> <id>net-cn</id> <mirrorOf>central</mirrorOf> <url>http://maven.net.cn/content/groups/public/</url> </mirror> <mirror> <id>osc</id> <mirrorOf>central</mirrorOf> <url>http://maven.oschina.net/content/groups/public/</url> </mirror> <mirror> <id>osc_thirdparty</id> <mirrorOf>thirdparty</mirrorOf> <url>http://maven.oschina.net/content/repositories/thirdparty/</url> </mirror> </mirrors> <!-- 用于指定一系列的profile。profile元素由activation、repositories、pluginRepositories和properties四个元素组成。当一个profile在settings.xml中是处于活动状态并且在pom.xml中定义了一个相同id的profile时,settings.xml中的profile会覆盖pom.xml中的profile。 --> <profiles> <profile> <id>osc</id> <activation> <activeByDefault>true</activeByDefault> </activation> <repositories> <repository> <id>osc</id> <url>http://maven.oschina.net/content/groups/public/</url> </repository> <repository> <id>osc_thirdparty</id> <url>http://maven.oschina.net/content/repositories/thirdparty/</url> </repository> </repositories> <pluginRepositories> <pluginRepository> <id>osc</id> <url>http://maven.oschina.net/content/groups/public/</url> </pluginRepository> </pluginRepositories> </profile> <profile> <id>net-cn</id> <repositories> <repository> <id>net-cn</id> <url>http://maven.net.cn/content/groups/public/</url> </repository> </repositories> <pluginRepositories> <pluginRepository> <id>net-cn</id> <url>http://maven.net.cn/content/groups/public/</url> </pluginRepository> </pluginRepositories> </profile> </profiles> </settings>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
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
[/code]
四.IDEA怎么创建Maven项目(以web项目为例)
IDEA集成了很多模板,直接按照项目引导来创建就可以了接下来给工程组和工程起名
接下来配置maven
接下来按照Maven标准结构起名字,并把Java设置位编译目录,把test下的java设为测试目录
目前项目结构
五.Maven的pom.xml文件
POM 代表工程对象模型。它是使用Maven工作时的基本组建,是一个xml文件。它被放在工程根目录下,文件命名为 pom.xml。POM 包含了关于工程和各种配置细节的信息,Maven 使用这些信息构建工程。POM 也包含了目标和插件。当执行一个任务或者目标时,Maven 会查找当前目录下的 POM,从其中读取所需要的配置信息,然后执行目标
其中 groupId:artifactId:packaging:version被称为maven的坐标,唯一确定一个maven项目
<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/maven-v4_0_0.xsd"> <!--pom模型,固定值不用改变--> <modelVersion>4.0.0</modelVersion> <!--工程组名字--> <groupId>com.mrdear</groupId> <!--工程名字--> <artifactId>mvndemo</artifactId> <!--打包成为的结构,WEB对应着war包--> <packaging>war</packaging> <!--项目版本号--> <version>1.0-SNAPSHOT</version> <!--具体的依赖--> <dependencies> <!--配置了junit依赖--> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <!--junit依赖版本号,一般为4.10--> <version>4.10</version> <!--test标示只在测试时候用--> <scope>test</scope> </dependency> </dependencies> <!--最后打包项目的名称--> <build> <finalName>mvndemo</finalName> </build> </project>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
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
[/code]
到此一个Maven的简单模块就完成了
(function () {('pre.prettyprint code').each(function () {
var lines = (this).text().split(′\n′).length;varnumbering = $('').addClass('pre-numbering').hide();
(this).addClass(′has−numbering′).parent().append(numbering);
for (i = 1; i
相关文章推荐
- Maven学习记录(一)--IDEA下环境配置
- Maven学习记录2——Mac maven、jdk环境变量配置
- openCV学习记录1——环境配置记录
- maven学习记录2.1:pom.xm配置
- Adam学习22之在window下使用idea的maven编译安装记录
- IDEA下MAVEN+SSM环境配置
- Maven环境的搭建与idea配置
- 记录自己的Android学习(一)Android开发环境的配置
- 在idea+maven环境下配置和安装tomcat,并且创建一个web工程
- Maven学习记录(四)--多模块开发配置
- SpringMVC学习记录(一)--环境配置
- 学习记录:pwntools安装及其环境配置
- Maven环境的搭建与idea配置
- QT学习记录(1)环境配置和初步建立项目运行
- 【SSM学习之路】Maven安装配置和环境搭建(eclipse)
- php学习记录1环境的配置
- intellij idea + bitbucket + maven + spring-boot配置记录
- Cocos2d-x学习随笔记录-环境配置
- Maven环境的搭建与idea配置
- Jersey学习记录(一)--环境配置