maven 知识点1
-
在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>