Maven学习记录(一)--IDEA下环境配置
2016-04-11 23:51
417 查看
一.什么是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>
四.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>
到此一个Maven的简单模块就完成了
相关文章推荐
- poj 1523 SPF 无向图求割点
- 内部排序总结
- 责任链模式(java语言实现)
- SPOJ 5971 LCM SUM
- c++第三次实验作业
- uva 1605 building for UN ——yhx
- HTTP协议之状态码
- (Array)169. Majority Element
- 获取字符数方法
- 【ios开发学习】【swift】Xcode7 使用NSURLSession发送HTTP请求的问题
- 精英荟|滴滴打车天使投资人王刚亲述:如何用八十万人民币炼成百亿美金公司?
- 194. Transpose File
- javaweb基于内容的图片搜索引擎(3)_lire后台使用
- 中文分词学习资料
- 码农小汪-spring框架学习之7-spring的零配置 @Component @Controller @Service
- 计算机网络-抓包
- 38.IO流
- 低功耗蓝牙(BLE)之概念理解
- 用 二分+哈希 求后缀数组
- 20. 静态区块(Static Blocks)