1、常用网站:
 
2、命令
mvn -v 查看maven的版本
mvn -compile 在项目的根目录下编译项目
mvn -test 测试项目
mvn -clean 删除项目的target目录(字节码和测试报告)
mvn -install 安装jar包到本地仓库
mvn -package 将项目打包
 依赖说明:
在maven中引入其他依赖,项目首先去本地仓库中查找,若没有找到,则去中央仓库中查找,并下载到本地仓库,若两者都没有则报错
 
3、maven 命令行创建项目 自动化创建目录结构命令:
1、mvn archetype : generate 
2、mvn archetype : generate -DgroupId=   -DartifactId= -Dversion= -Dpackage=
 
4、pom 文件说明
<project>
 
<modelVersion>4.0.0</modelVersion>指定了当前pom的版本
 
<groupId>反写的公司网址+项目</groupId>
<artifactId>模块的一个标识,一般用项目名+模块名</artifactId>
<version>当前项目的版本号</version>
第一个零表示大的版本号
第二个零表示分支版本号
第三个零表示小版本号
0.0.1snapshot(快照版)
alpha内部测试
beta公测
Release稳定
GA正式发布
 
<packaing></packaging>表示打包的方式,默认是jar
<name></name>项目的描述名 
<url></url>项目的地址
<description></description> 项目的描述
<developers></developers>开发人员信息
<licenses></licenses>许可证
 
依赖列表
<dependencies>
    <dependency>
        <groupId></groupId>
        <artifactId></artifactId>
        <version></version>
        <type></type>
        <scope>test/compile/runtime(编译和运行时有效)/provided(编译和测试有效)/system(与本地系统有关)/import(从其他项目引用过来的依赖)/</scope>依赖范围(编译、测试、运行)
        <optional>true/false</optional>设置以来是否可选
        <exclusions>排除依赖
            <exclusion>
                <groupId></groupId>
                <artifactId></artifactId>
                <version></version>
             <exclusion>
        </exclusions>
    </dependency>
</dependencies>
 
依赖的管理,并不会被运行,定义在父模块中,供子模块继承使用的
<dependencyMangement>
    <dependencies>
        <dependency>
        </dependency>
    </dependencies>
</dependencyMangement>
 
<build>
插件的列表
    <plugins>
    <plugin>
        <groupId><groupId>
        <artifactId></artifactId>
        <version></version>
    </plugin>
    </plugins>
</build>
<parent></parent>通常用于子模块对父模块的继承
<modules></modules>对多个模块进行一起编译
</project>
 
依赖冲突:A和B依赖不同版本的相同的构件
1、短路优先
A依赖B B依赖C C依赖X(jar)
A依赖D D依赖X(jar) (优先)
2、先声明先优先,相同路径下先声明的优先
 
聚合(多个项目进行聚合,一起编译和运行)
<packaging>pom</packaging>
<modules>
    <module>其他项目的路径</module>
</modules>
 
继承
被继承的父项目
<dependencyMangememt>
    <dependency>
        <groupId></groupId>
        <artifactId></artifactId>
        <version></version>
    </dependency>
</dependencyMangement>
 
<parent>(继承的项目坐标)</parent>
 
引用配置好的属性
<properties>
    <junit-version></junit-version> 
</properties>
<version>${junit-version}</version>
 
5、maven目录结构
src/main/java
src/main/resources
src/test/java
src/test/resources
pom.xml
 
6、注意:
创建好的web项目目录,其中的jsp报错,是因为没有添加servlet API的原因,需要在pom中添加相关依赖。
发布产品时候 不需要测试模块的代码 所以要删掉 项目右键 Properties 选择 Deployment Assembly 把测试部分的都删掉

maven 自我学习笔记的更多相关文章

  1. Maven基础学习笔记

    Maven基础学习笔记 下载链接 官网:https://maven.apache.org/ 所有版本:https://archive.apache.org/dist/maven/maven-3/ 阿里 ...

  2. 第1张 Maven简介 学习笔记

    什么是构建? 编译.运行单元测试.生成文档.打包和部署 Maven的应用: 构建工具 依赖管理工具 通过坐标系统定位到每一个构建(artifact) 项目信息管理工具 Maven对于项目目录结构.测试 ...

  3. maven权威指南学习笔记(三)——一个简单的maven项目

    目标: 对构建生命周期 (build  lifecycle),Maven仓库 (repositories),依赖管理 (dependency management)和项目对象模型 (Project O ...

  4. Maven学习笔记-03-Eclipse下maven项目在Tomcat7和Jetty6中部署调试

    现在最新的Eclipse Luna Release 已经内置了Maven插件,这让我们的工作简洁了不少,只要把项目直接导入就可以,不用考虑插件什么的问题,但是导入之后的项目既可以部署在Tomcat也可 ...

  5. mybatis学习笔记(五) -- maven+spring+mybatis从零开始搭建整合详细过程(附demo和搭建过程遇到的问题解决方法)

    文章介绍结构一览 一.使用maven创建web项目 1.新建maven项目 2.修改jre版本 3.修改Project Facts,生成WebContent文件夾 4.将WebContent下的两个文 ...

  6. [struts2学习笔记] 第二节 使用Maven搞定管理和构造Struts 2 Web应用程序的七个步骤

    本文地址:http://blog.csdn.net/sushengmiyan/article/details/40303897 官方文档:http://struts.apache.org/releas ...

  7. dubbo入门学习笔记之入门demo(基于普通maven项目)

    注:本笔记接dubbo入门学习笔记之环境准备继续记录; (四)开发服务提供者和消费者并让他们在启动时分别向注册中心注册和订阅服务 需求:订单服务中初始化订单功能需要调用用户服务的获取用户信息的接口(订 ...

  8. Maven学习笔记-04-Eclipse下maven项目在Tomcat7和Jetty6中部署调试

    现在最新的Eclipse Luna Release 已经内置了Maven插件,这让我们的工作简洁了不少,只要把项目直接导入就可以,不用考虑插件什么的问题,但是导入之后的项目既可以部署在Tomcat也可 ...

  9. mybatis学习笔记(六) -- maven+spring+mybatis从零开始搭建整合详细过程(下)

    继续 mybatis学习笔记(五) -- maven+spring+mybatis从零开始搭建整合详细过程(上) 五.使用监听器启动Spring容器 1.修改pom.xml文件,添加Spring-we ...

随机推荐

  1. TCP/IP拥塞控制

    TCP/IP拥塞控制包括:慢启动和拥塞避免.其操作流程如下所述: 初始化.拥塞窗口cwnd = 1,慢启动门限ssthresh = 65535 如果没有发生拥塞 若 cwnd < ssthres ...

  2. 给定一个无序数组arr,求出需要排序的最短子数组长度。例如: arr = [1,5,3,4,2,6,7] 返回4,因为只有[5,3,4,2]需要排序。

    思路 首先从左往右遍历,然后设定一个Max,如果遍历的过程中array[i]大于Max,则置换Max,若小于Max,则指定 k 记录该位置. 然后再从右往左遍历,设定一个Min,在遍历的过程中arra ...

  3. 開源sources

    學了c++已經快有半年光景,感覺在停留在syntax上已經不能感到有所滿足.一下是一些開源資料,難度極高,姑且當作是個人的一個小小wishing list,當作to-do list 般去執行吧. ht ...

  4. Socket学习总结系列(二) -- CocoaAsyncSocket

    这是系列的第二篇 这是这个系列文章的第二篇,要是没有看第一篇的还是建议看看第一篇,以为这个是接着第一篇梳理的 先大概的总结一下在上篇的文章中说的些内容: 1. 整理了一下做IM我们有那些途径,以及我们 ...

  5. MarkDown入门指南

    标题 标题是每篇文章必备而且最常用的格式. 在Markdown中,如果想将一段文字定义为标题,只需要在这段文字前面加上 #,再在 # 后加一个空格即可.还可增加二.三.四.五.六级标题,总共六级,只需 ...

  6. 实验演示Oracle“多版本一致读”和“Cross DDL”

    http://space.itpub.net/17203031/viewspace-756336   在各种事务级别中,Oracle实现的是“Read Committed”,也就是读取的数据都是已经提 ...

  7. 关于CSS格式与布局中的基础知识的简单操作

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  8. 解读java同步类CountDownLatch

    同步辅助类: CountDownLatch是一个同步辅助类,在jdk5中引入,它允许一个或多个线程等待其他线程操作完成之后才执行. 实现原理 : CountDownLatch是通过计数器的方式来实现, ...

  9. python2 接口测试一般方法.

    接口测试方法: 1. import requests 2. 创建一个url变量,并经访问的地址赋值给它.(包括端口后面的 接口的部分) 例如: url = "http://124.193.9 ...

  10. Lua语法要点

    本文在我的独立博客中的链接:https://www.bughui.com/2017/04/01/lua-grammar-points/ 这篇文章其实是我在四月一号发布的,由于我重新注册了一个博客园帐号 ...