Maven学习记录(一)--IDEA下环境配置

来源:互联网 发布:mpp文件打开软件 编辑:程序博客网 时间:2024/05/18 14:12

一.什么是Maven?

Maven 是一个项目管理和整合工具。Maven 为开发者提供了一套完整的构建生命周期框架。开发团队几乎不用花多少时间就能够自动完成工程的基础构建配置,因为 Maven 使用了一个标准的目录结构和一个默认的构建生命周期。

二.Maven能帮助开发者做什么?

  1. 构建
  2. 文档生成
  3. 报告
  4. 依赖
  5. SCMs
  6. 发布
  7. 分发
  8. 邮件列表
    总的来说,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的简单模块就完成了

1 1
原创粉丝点击