项目管理利器--Maven

1.概念
  -Maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构建/报告和文档的软件项目管理工具
 
2.命令
  -mvn -v --查看mvn版本
  -mvn compile --编译项目
  -mvn test --测试项目
  -mvn package --打包项目
  -mvn clean --删除target(字节码文件和编译报告)
  -mvn install --安装jar包到本地仓库
  -mvn archetype --自动创建maven的目录
  --archetype:generate ---按照提示进行创建
    ---Dgroup=组织名.一般为公司网址的反写+项目名
    ---DartifactId=项目名-模块名
    ---Dpackage=代码所存在的包名
    ---mvn archetype:generate -DgroupId=com.lhy.maven03     -DartifactId=maven03-demo -Dversion=1.0.0SNAPSHOT -Dpackage=com.lhy.maven04.demo
   
3.maven的坐标和仓库
  -坐标 --构件.所有构件通过坐标作为其唯一标识
  -仓库(用于管理项目依赖)
    若本地仓库没有我们需要的构件,则去远程仓库寻找下载到本地仓库.都找不到则报错
    https://repo.maven.apache.org/maven2
    镜像仓库
    <mirror>
      <id>maven.net.cn</id>
      <mirrorOf>central</mirrorOf>
      <name>central mirror in china</name>
      <url>http://maven.net.cn/content/groups/public</url>
    </mirror>
    更改maven本地目录(更新时修改settings文件)
    <localRepository>D:/Workspaces/repository</localRepository>
4.生命周期
  -clean 清理项目
    --pre-clean 执行清理前的工作
    --clean 清理上一次构建生成的所有文件
    --post-clean 执行清理后的文件
  -default 构建项目
    compile test package install
  -site 生成项目站点
    --pre-clean
    --site
    --post-site
    --site-deploy发布生成的站点到服务器上
  
5.插件
  Maven插件的使用
  <build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>2.4</version>
//运行时加载
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>
jar-no-fork
</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>

6.pom.xml解析
  --详情见附件


7.依赖
  -依赖的范围<scope></scope>
   classpath
    --编译
    --测试
    --运行
    compile:默认级别.三种环境下都有效
    provided:编译测试时有效
    runtime:测试运行时有效
    test:测试时有效 -- junit
    system:与本机相关,可以执行差
    import:导入到其他依赖
  
  -依赖的传递
    --maven会默认把间接依赖传递给其依赖目标
  -依赖的冲突
    --短路优先(依赖层级少的优先解析)
    --声明优先(解析的jar包版本冲突时,采用先声明的jar包版本)
    
7.maven的聚合和继承
  聚合(modules):将多个maven项目合并在一个项目中运行
  继承(dependencyManagement):类似于Java中的继承关系
  
8.创建web项目
  -在pom.xml中配置jetty/tomcat的坐标,不用部署即可运行
  
总结:
  Maven可以说是一款非常强大的工具,或者说管理工具.它的所有核心都在pom.xml文件上.
  Maven提供了对所有第三方资源的管理,它能很好的整合规划我们原本的项目结构.它的一切引用都在本地/中央仓库中

  所有项目中用到的第三方资源(jar包/服务器..)都可以在pom.xml中声明并运行,不必手动导入


http://blog.csdn.net/jacxuan/article/details/53454819

原文地址:https://www.cnblogs.com/qwop/p/6637315.html