-
生命周期
- 构建生命周期,描述了构建的过程,Maven内置了3个构建生命周期
- clean(清理)
- default(默认,重点关注)
- default生命周期由下表中的phase组成
-
phast 描述 validate 确认项目正确并且所有必要的信息均可用 compile 编译项目的源代码(src/main) test 使用合适的单元测试框架测试编译后的源代码(src/main、src/test) package 获取编译后的代码,并将其打包为可分发的格式,例如jar verify 对集成 测试的结果进行任何检查,以确保符合质量标准 install 将软件包安装到本地存储库中,以作为本地其他项目中的依赖项 deploy 在构建环境中完成后,将最终软件包复制到远程存储库中,以便与其他开发人员和项目共享
- sit(站点)
- 构建生命周期由phase(阶段组成)
- phase可以跟plugin goal(插件目标)绑定
- 通过命令mvn 插件:help可以查看插件包含的所有的goal
install示例: mvn install:install-file -Dfile=jar的路径 -DgroupId=组织 -Dartifactid=库名 -Dversion=版本 -Dpackaging=jar 查看插件的所有goal:以tomcat7插件为例 mvn tomcat7:help
- 构建生命周期,描述了构建的过程,Maven内置了3个构建生命周期
-
插件配置详解: 以maven-dependency-plugin为例:
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <version>3.2.0</version> <executions> <execution> <phase>package</phase> <goals> <goal>copy-dependencies</goal> </goals> <configuration> <outputDirectory>${project.build.directory}}/lib</outputDirectory> </configuration> </execution> </executions> </plugin>
在default生命周期的package阶段执行maven-dependency-plugin插件的copy-dependencies的任务(goal)
-
dependency中scope的取值
- compile:默认。编译依赖关系在所有类路径中均可用。此外,这些依赖会传递到相关项目
- provider:仅在编译和测试类路径上可用,并且不可传递,希望jdk或容器在运行时提供它
- runtime: 依赖关系不是编译所必须的,而是运行所必须的,它在运行时和测试类路径中,但不在编译类路径中
- test:依赖关系对于正常使用该应用程序不是必须的,并且仅在测试编译和执行阶段可以用。他不是可传递到的
- system:必须显示提供jar的位置(可以通过systemPath标签指定),不会去mavenn仓库中查找
-
web项目
- 创建maven空项目后添加:<packaging>war</packaging>
- 添加javax.servlet-api的依赖,并且scope设置为provider
- 添加web.xml,路径为:src/main/webapp/WEB-INF/web.xml,web.xml内容如下:
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" version="4.0"> </web-app>
-
利用tomcat7中的deploy发布项目到已运行的tomcat容器中
-
配置本地的tomcat的user用户,在apache-tomcat-8.5.66/conf/tomcat-users.xml中新增如下内容:
<role rolename="manager-gui"/> <role rolename="manager-script"/> <user username="root" password="root" roles="manager-gui,manager-script"/>
启动本机存在的tomcat
-
maven的配置文件中添加server节点,内容如下:
<server> <id>tomcat8</id> <username>root</username> <password>root</password> </server>
-
配置插件,内容如下:
<plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.2</version> <configuration> <uriEncoding>UTF-8</uriEncoding> <path>/crm_10</path> <update>true</update> <url>http://localhost:8080/manager/text</url> <username>root</username> <password>root</password> <server>tomcat8</server> </configuration> </plugin>
server和username/password两种方式选择一种即可
执行mvn tomca7:deploy 发布到本地已经运行的tomcat容器之中
-
4.maven 配置详解
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 1、pom.xml文件中scope标签 scope标签位于dependency标签中,主要的作用是管理依赖的部署,...
- Maven基础 第1章Maven介绍 1.1 什么是Maven 1.1.1 什么是Maven Maven的正确发音...