• 在POM 4中,dependency 中还引入了 scope,它主要管理依赖的部署。目前 scope 可以使用5个值:

    compile,缺省值,适用于所有阶段,会随着项目一起发布。

    provided,类似compile,期望JDK、容器或使用者会提供这个依赖。如servlet.jar。

    runtime,只在运行时使用,如JDBC驱动,适用运行和测试阶段。

    test,只在测试时使用,用于编译和运行测试代码。不会随项目发布。

    system,类似provided,需要显式提供包含依赖的jar,Maven不会在Repository中查找它。

  • mvn spring-boot:run,可以直接使用tomcat(默认)启动项目。

Maven 3支持Maven项目的多模块(multi-modules)结构。这样的Maven项目也被称为聚合项目,通常由一个父模块和若干个子模块构成。

其中,父模块打包类型必须是pom,同时以 modules 给出所有的子模块。父模块的POM示例如下:

...
<packaging>pom</packaging> <modules>
<module>my-frontend-project</module>
<module>my-service-project</module>
<module>my-backend-project</module>
</modules>
...

其中的每个module,都是另外一个Maven项目。

  • eclipse创建maven项目部署到tomcat,图示教程:http://blog.csdn.net/clj198606061111/article/details/20221133

  • 使用 archetype(原型) 创建 maven 项目,Artifact Id为 maven-arrchetype-webapp 的类型,就是maven的web项目。

  • maven 项目属性设置对话框, Artifact Id 将作为项目名称显示。

  • maven 默认的本地库的路径是 ${user}/.m2/repository/,maven从远程库下载的jar包默认都会放到此目录下。

  • 当Maven运行过程中的各种配置,例如pom.xml,不想绑定到一个固定的project或者要分配给用户时,我们使用settings.xml中的settings元素来确定这些配置。这包含了本地仓库位置,远程仓库服务器以及认证信息等。

    settings.xml存在于两个地方:

    1.安装的地方:$M2_HOME/conf/settings.xml

    2.用户的目录:${user.home}/.m2/settings.xml

    前者又被叫做全局配置,后者被称为用户配置。如果两者都存在,它们的内容将被合并,并且用户范围的settings.xml优先。

maven 项目的目录结构如下图:

在Maven项目或者pom.xml上右击,再选择Run As,就能看到常见Maven命令。

默认选项中没有我们想要执行的Maven命令怎么办?比如,默认带有mvn test,但我们想执行mvn clean test,很简单,选择Maven buid… 以自定义Maven运行命令,在弹出对话框中的Goals一项中输入我们想要执行的命令,如clean test,设置一下Name,点击Run即可。

并且,下一次我们选择Maven build,或者使用快捷键Alt + Shift + X, M快速执行Maven构建的时候,上次的配置直接就能在历史记录中找到。

eclipse实际上是在使用maven-archetype-plugin插件创建项目,因此与使用archetype创建项目骨架类似

常用maven命令

  • clean:清除目标目录中的生成结果。
  • generate-sources:开发环境与代码分离,很少使用,执行这个命令可以通过查看.classpath和.project两个文件来查看变化。
  • install:在本地库中安装jar
  • test:运行项目中的单元测试
  • package:根据项目生成jar文件
  • tomcat*:run:启动tomcat,前提是在项目的pom.xml文件中添加了tomcat插件
  • eclipse:eclipse:生成Eclipse项目文件,即.classpath和.project文件
  • compile:编译源代码
  • dependency:sources:下载项目依赖的jar包的源码包

Mac系统下配置Maven环境变量:

1、在官网下载Maven安装包,网址:https://maven.apache.org/download.cgi;

2、进入终端Terminal,验证JDK是否配置成功,输入java -version,显示JDK版本信息则配置成功;

3、打开配置文件.bash_profile,输入open .bash_profile;

4、输入Maven安装包路径:

export M2_HOME=/Library/apache-maven-3.5.0
export PATH=$PATH:$M2_HOME/bin

保存修改并关闭.bash_profile;

5、输入source .bash_profile使修改生效;

6、输入mvn -v验证Maven是否配置成功,如果显示Maven版本信息则配置成功。

maven常用命令:



注意:运行maven命令的时候,首先需要定位到maven项目的目录,也就是项目的pom.xml文件所在的目录。否则,必以通过参数来指定项目的目录。

使用阿里maven云仓库,加快下载速度。

<?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">
<mirrors>
<!-- 阿里云仓库 -->
<mirror>
<id>alimaven</id>
<mirrorOf>central</mirrorOf>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
</mirror> <!-- 中央仓库1 -->
<mirror>
<id>repo1</id>
<mirrorOf>central</mirrorOf>
<name>Human Readable Name for this Mirror.</name>
<url>http://repo1.maven.org/maven2/</url>
</mirror> <!-- 中央仓库2 -->
<mirror>
<id>repo2</id>
<mirrorOf>central</mirrorOf>
<name>Human Readable Name for this Mirror.</name>
<url>http://repo2.maven.org/maven2/</url>
</mirror>
</mirrors>
</settings>

maven 知识点1的更多相关文章

  1. Maven知识点积累二

    ①maven常用命令: mvn clean:清除target下编译生成的class文件 mvn compile:编译 mvn package:打包放到target下 mvn install:打包并放到 ...

  2. Maven知识点积累一

    配置maven变量,变量名可以是:MAVEN_HOME 或 M2_HOME settings.xml配置本地仓库地址: <localRepository>G:/.m2/repository ...

  3. Maven知识点整理

    1. 基础:maven 概念及生命周期 ===>Nexus创建本地Maven仓库(Maven私服) https://www.cnblogs.com/zishengY/p/7794923.html ...

  4. maven 知识点2

    maven 命令: table th:first-of-type { width: 500px; } table th:nth-of-type(2) { } 命令 含义 mvn help:effect ...

  5. Maven知识点简要

      1.依赖管理 <dependencies> <dependency> <groupId>net.sf.json-lib</groupId> < ...

  6. Maven知识点一览

    Maven 介绍和搭建 介绍 Maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告,和文档的软件项目管理工具. 环境搭建 网址:https://maven.apache ...

  7. Maven 知识点总结以及解决jar报冲突的几种方法

    1.常见的命令 Compile Test Package Install Deploy Clean 2.坐标的书写规范 groupId 公司或组织域名的倒序 artifactId 项目名或模块名 ve ...

  8. 各数据库连接配置与maven依赖安装

    maven用的比较多,所以自己去捣鼓了一下:以下是关于数据库配置的一块,把相关的内容张贴出来,以备不时之需 //MySql 配置文件(maven):pom.xml <dependency> ...

  9. maven杂碎汇总

        本来是想写一篇关于maven知识点的详细总结的,但需要看一本书或教材,然后再汇总一下,这样做自然是好的,这个在年前争取做完.本文是主要记录在工作和学习遇到关于maven的一些困惑.很乐意看到它 ...

随机推荐

  1. http 请求和格式

    get 请求:从指定的资源请求数据. post请求:向指定的资源提交要被处理的数据. head请求:与 GET 相同,但只返回 HTTP 报头,不返回资源实体. option请求:返回服务器支持的 H ...

  2. 最应该注意的Oracle版本之一

    最近以来,两个用户的库接连出现问题,经过查阅资料和分析,确定为数据库bug所致,其实,早在很久前,也遭遇过这个版本的类似bug,当时似乎还惊动了原厂的技术人员,后来确定为这个版本的bug,这个版本就是 ...

  3. SSH执行远程命令和传送数据

    $ ssh user@host 'mkdir -p .ssh && cat >> .ssh/authorized_keys' < ~/.ssh/id_rsa.pub ...

  4. create rootfs.img using loop device

    reference: https://www.thegeekdiary.com/how-to-create-virtual-block-device-loop-device-filesystem-in ...

  5. 如何搭建.NET Entity Framework分布式应用系统框架

    一.             前言 ADO.NET Entity Framework(以下简称EF)是微软推出的一套O/RM框架,如果用过Linq To SQL的人会比较容易理解,因为Linq To ...

  6. 51nod1269Devu and Flowers

    题解: 如果没有限制每一种花有多少,那么就是简单的排列组合问题. 那么我们强制让一些花一定都要选. 暴力搜索,然后组合数(逆元) 采用容斥原理来计算最后的答案 代码: #include<bits ...

  7. hdu 2874 Connections between cities(st&rmq LCA)

    Connections between cities Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (J ...

  8. Arithmometer: A Node.js implementation

    Foreword: This project is a part of pair programming task. We implement an command-line based arithm ...

  9. 安装Windows Installer服务

    Windows Installer 5.0.810.500 下载地址: 电信:http://mdl1.mydown.yesky.com/soft/201303/WindowsInstaller.rar ...

  10. rem 移动端适配

    1.从网易与淘宝的font-size思考前端设计稿与工作流 http://www.cnblogs.com/lyzg/p/4877277.html 2.淘宝弹性布局方案lib-flexible实践 ht ...