maven--软件项目管理工具(day01)

前提:----------------------------------------------------------------------------------------------------------------------------java

project : Maven
description : Maven是基于项目对象模型(POM),能够经过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。web

--------------------------------------------------------------------------------------------------------------------------------------
一,如何使用maven构建项目
1,下载和安装maven
  MAVEN_HOME : "maven的安装目录"
  path : %MAVEN_HOME%\bin
2,新建一个pom.xml文件,在该文件写上相应的配置
*
<?xml version="1.0" encoding="UTF-8"?>
<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">
<modelVersion>4.0.0</modelVersion>apache

<groupId>cn.water.maven.hello</groupId>
<artifactId>hello-first</artifactId>
<version>SNAPSHOT-0.0.1</version>api

<dependencies>
  <dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.10</version>
    <scope>test</scope>
  </dependency>
</dependencies>tomcat

</project>
* 其中最重要的元素节点就是GAV--(groupId,artifactId,version)
项目坐标
  groupId------------------用啦表示项目的名称
  artifactId---------------用来表示项目的模块,建议使用项目的名称-模块名称 such as : crm-userGroup
  versionId----------------项目的版本号
3,创建相应的工程目录,不过格式严格要求以下
pom.xml
src
  main
    java------------------------java源代码
    resources-------------------源文件的资源目录,(hibernate.cfg.xml,applicationContext.xml)
  test
    java------------------------工程的测试代码
    resources-------------------测试工程所用到的资源目录文件服务器

4,执行mvn compile 命令app

* 这个时候maven就会从中央仓库中下载相应的jar包(保存到.m2的文件夹中),可是能够设置本地的仓库
* 设置下载到本地仓库的本地目录,打开settings.xml文件
找到<localRepository>D:/Java/maven</localRepository>里面的内容能够根据本身的想要防止的地方
可是这里的文件要conf/文件下的setttingsmaven

5,archetype骨架式地构建本身的项目
  5.1 : 新建一个目录放置咱们的工程:mkdir 03
  5.2 : 切换到刚刚新建的03目录下,执行 mvn archetype:generate
  5.3 : 后面的根据提示来创建咱们的工程ide


二,正式进入maven的学习
1,maven整体上能够分为三个部门
* 依赖
* 仓库
* 生命周期和插件工具

三,依赖
1,依赖包的查询
* 全部的依赖都是经过坐标来进行存储的(GAV-->groupId,artifactId,version)
* 有一些网上的仓库提供了查询
* 什么叫传递性依赖
依赖是会被传递的----------可是只是做用于compile
若是咱们新建一个项目,这个项目主要是放置PO对象,可是使用到hibernate核心的jar包,
因此当咱们再新建一个项目的时候,须要依赖前面的一个项目,因此咱们要导入这个项目,可是与此同时,hibernate的jar包
也会相应的导入进来。

 

1,test 范围指的是测试范围有效的,在编译和打包时都不会使用这个依赖 2,compile范围指的是编译范围有效的,在编译和打包时会将依赖存储进去 3,provided依赖,在编译和测试过程有效,最后生成war包时不会加入,诸如, serviet-api,由于servlet-api,tomcat等web服务器已经存在了,若是再打包回冲突 3,runtime在运行的时候依赖,在编译的时候不会依赖。

相关文章
相关标签/搜索