Maven

**

Maven:一个优秀的项目构建工具

**

Maven的含义:Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。

Pom.xml (一小段标签 就可以来维护项目或者管理项目)

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

在有多个开发团队环境的情况下,Maven 能够在很短的时间内使得每项工作都按照标准进行。因为大部分的工程配置操作都非常简单并且可复用,在创建报告、检查、构建和测试自动配置时,Maven 可以让开发者的工作变得更简单。

Maven的优势:自动构建,jar包依赖管理,契约编程

Maven的安装与配置

安装JDK–javase第一天的事情
JDK下载地址: http://www.oracle.com/technetwork/java/javase/downloads/index.html

安装Maven
从网上下载 Maven:http://maven.apache.org/download.html
安装的过程和jdk相似

配置本地仓库

Maven会自动为咱们添加相应的jar包,而这个jar包会先在本地仓库中查找,如果本地仓库中找不到,则会去中央仓库(网络上)去进行下载。
提示:对于仓库的概念咱们在后面Maven导包的部分再进行讲解。
本地仓库默认是在咱们的C盘(系统盘中):
(不同的电脑可能会有区别)
咱们并不建议把 jar包放在系统盘(原因你懂的!)

移动settings.xml文件

MAVEN_HOME/conf/settings.xml 全局的

~用户根路径C:\Users\Administrator/.m2/settings.xml 单个用户的,修改用户的配置文件

测试Maven常用命令(重点–在项目
自动完成)
注:前面的几步只是要一个环境,命令才是我们需要注意与掌握的
1.
打开cmd命令行,进入Hello项目根目录执行 mvn compile命令,查看根目录变化
2.
cmd 中继续录入mvn clean命令,然后再次查看根目录变化
3.
cmd 中录入 mvn clean compile命令, 查看根目录变化
4.
****cmd 中录入 mvn clean test命令,查看根目录变化
5.
****cmd 中录入 mvn clean package命令,查看根目录变化
6.
****cmd 中录入 mvn source:jar命令,查看根目录变化,源码包
7.
cmd 中录入 mvn clean site命令,查看根目录变化
8.
****cmd 中录入 mvn install命令,查看本地仓库变化
9.
****生成Eclipse的需要2个文件mvn eclipse:eclipse
10.
maven打包不执行测试用例的命令
11.
****mvn package
-Dmaven.test.skip=true





<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/xsd/maven-4.0.0.xsd">

         <modelVersion>4.0.0</modelVersion>

         <!-- 组id:包名 -->

         <groupId>cn.itsource.maven</groupId>

         <!-- 模块名:和工程名一致 -->

         <artifactId>Hello</artifactId>

         <!-- 版本号 -->

SNAPSHOT快照,不稳定,随时都在修改bug

RELEASE
释放,稳定版本

         <version>0.0.1-SNAPSHOT</version>

         <!-- 项目名 -->
        
         <name>hello</name>

         <!-- jar文件依赖 -->

         <dependencies>

                  <dependency>

                           <groupId>junit</groupId>

                           <artifactId>junit</artifactId>

                           <version>4.9</version>

                           <!-- 只能在测试里面使用src/test/java -->

                           <scope>test</scope>

                  </dependency>

         </dependencies>

</project>

修改pom.xml的导包配置





<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/xsd/maven-4.0.0.xsd">
         <modelVersion>4.0.0</modelVersion>
         ..其它配置省略
         <!-- jar文件依赖 -->
         <dependencies>
                  <dependency>...</dependency>
         <dependency>
                   
<groupId>org.springframework</groupId>

                     
<artifactId>spring-web</artifactId>

                    
<version>4.2.5.RELEASE</version>
                  </dependency>
         </dependencies>
</project>

互连网搜索坐标(连网)





<dependency>
         <groupId>org.springframework</groupId>
         <artifactId>spring-orm</artifactId>
         <version>3.0.5.RELEASE</version>
</dependency

groupId 组id:定义当前Maven项目隶属项目,包名,一般是公司项目包名

artifactId 模块id:定义实际项目中的一个模块,模块名(工程名称)

version:定义当前项目的当前版本

SNAPSHOT快照版本,就是开发版本

RELEASE释放版本,正式版本,稳定 使用其他机构提供的jar文件,必须使用释放版本
packaging:定义该项目的打包方式(jar/war) 默认值jar
如果需要oracle的jar,只有自己按照maven坐标的路径,自己拷贝到本地仓库(因为oracle不开源)
咱们只需要加一个包,它就会把这个包以及对应的依赖包全部导入,这确实是太棒了,但是又有同学会觉得,即便是这样,引入这一个包的xml也还是挺麻烦的。

其实,对于这个引入,咱们也是可以直接在网上搜索:

网址:http://mvnrepository.com/

1.1. Maven的插件

其实Maven的本质是一个插件框架,它的核心并不执行任何具体的构建任务,所以这些任务都是交给插件还完成的,例如编译源代码是由maven- compiler-plugin完成的。

Maven 插件通常被用来:

1 创建jar 文件

2 创建war 文件

3 编译代码文件

4 代码单元测试

5 创建工程文档

6 创建工程报告

下面是插件的代码:





<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/xsd/maven-4.0.0.xsd">
         <modelVersion>4.0.0</modelVersion>
         <groupId>cn.itsource.maven</groupId>
         <artifactId>Hello</artifactId>
         <version>0.0.1-SNAPSHOT</version>
         <name>Hello</name>
         <dependencies>
                  //...依赖略
         </dependencies>
<build>
                  <finalName>pss</finalName>
                  <plugins>
                           <plugin>
<!-- Maven的编译插件-->
                                    <groupId>org.apache.maven.plugins</groupId>
                                    <artifactId>maven-compiler-plugin</artifactId>
                                    <configuration>
                                             <source>1.8</source>
                                             <target>1.8</target>
                                    </configuration>
                           </plugin>
                  </plugins>
         </build>
</project>

注意:手动 maven-updateproject

仓库的认识

在 Maven 的术语中,仓库是一个位置(place),例如目录,可以存储所有的工程 jar 文件、library jar 文件、插件或任何其他的工程指定的文件。

Maven的仓库有两种:本地仓库与远程仓库

本地仓库

解释:就是自己电脑存放jar包的地方

默认路径:~/.m2/repository/

注:每个用户只有一个本地仓库

远程仓库



中央仓库:Maven的默认的远程仓库(http://repo1.maven.org/maven2)

配置setting文件里面

<profile>         <id>central</id>         <repositories>            <repository>                <id>Central</id>                <name>Central</name>                <url>http://repo1.maven.org/maven2/</url>                <releases>                    <enabled>true</enabled>                </releases>                <snapshots>                    <enabled>true</enabled>                </snapshots>            </repository>        </repositories>     </profile>  

 

私服:是一种特殊的远程仓库,它是架设在局域网内的仓库

如果公司里面有,只需要配置公司私服地址 找到对应的jar包

        <profile>        <id>localRepository</id>        <repositories>            <repository>                <id>myRepository</id>                <name>myRepository</name>                <url>http://192.168.1.1:8081/nexus/content/repositories/myRepository/</url>                <releases>                    <enabled>true</enabled>                </releases>                <snapshots>                    <enabled>true</enabled>                </snapshots>            </repository>        </repositories>        </profile>

 

镜像:用来替代中央仓库,速度一般比中央仓库快(百度 csdn,oschina,阿里云)

配置:

        <mirror>     <id>alimaven</id>     <name>aliyun maven</name>     <url>http://maven.aliyun.com/nexus/content/groups/public/</url>     <mirrorOf>central</mirrorOf>    </mirror>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值