Maven项目管理工具全方位详解

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/as1072966956/article/details/83747916

Maven项目管理工具全方位详解

1. Maven的简介

1.1什么是maven

Maven翻译为“专家”、“内行”。它是apache下的一个开源项目,是一个项目管理工具,是纯java开发,并且只是用来管理java项目的。

1.2Maven好处

(1)平时我们开发项目时,一般都是一个项目就是一个工程。我们划分模块时,都是使用package来进行划分。但是,当项目很大时,有很多子模块时,即使是package来进行划分,也是让人眼花缭乱。

优点一:项目非常大时,可借助Maven将一个项目拆分成多个工程,最好是一个模块对应一个工程,利于分工协作。而且模块之间还是可以发送消息的。

(2)同一项目的jar包  复制 和 粘贴到WEB/INF/lib下

问题:同样的jar包重复出现在不同的工程中,一方面浪费空间,同时也让工程臃肿

优点二:借助Maven,可将jar包仅仅保存在“仓库”中,有需要该文件时,就引用该文件接口,不需要复制文件过来占用空间。

(3)如果jar包都到各个官网网站下载,会浪费很多时间,而且可能不全。

优点三:借助Maven可以以规范的方式下载jar包,因为所有的知名框架或第三方工具的jar包已经按照统一的规范存放到了Maven的中央仓库中。

(4)一个jar包依赖的其他jar包可能没导入到项目而导致项目跑不起来。

优点四:Maven会自动将你要加入到项目中的jar包导入,不仅导入,而且还会将该jar包所依赖的jar包都自动导入进来。

1.3依赖管理

image

扫描二维码关注公众号,回复: 4664925 查看本文章

1.4项目一键构建

一个mvn tomcat:run就可以运行项目

Maven能干的事:
编译 测试(junit) 运行 打包 部署

1.5小结:

1.5.1依赖管理

就是对jar包的统一管理 可以节省空间

1.5.2一键构建
1.5.3可以跨平台
1.5.4主要应用于大型项目

可以提高开发效率

分析一个商城项目:

用户管理 订单管理 支付管理 ……

Maven的分模块开发
互联网项目 按业务分
传统项目 按层分 entity dao service web

2.Maven的安装配置

2.1下载安装

http://maven.apache.org/download.cgi下载解压

直接解压到一个没有中文没有空格的文件夹里解压后的目录如下:
image

Maven软件的核心文件:
*/conf/settings.xml

2.2Maven环境变量配置

1、要配置jdk

maven3.3.9这个版本所需的jdk版本必须要1.7以上

2、最终要运行的是maven软件中bin目录的mvn命令

所以要配置maven的环境变量
在系统变量添加
环境变量的名称:MAVEN_HOME
变量值:就是maven软甲解压的目录,我的是E:\apache-maven-3.3.9
image

3、把MAVEN_HOME添加到path里

;%MAVEN_HOME%\bin;
image

4、验证maven是否配置成功:

打开dos窗口 输入: mvn –v
image

2.3Maven仓库

三种仓库

1、本地仓库 自己维护

本地仓库的配置只需要修改settings.xml文件就可以
image

2、远程仓库(私服) 公司维护
3、中央仓库 maven团队维护 约两个亿jar包

三种仓库的关系如下:
image

3.演示入门程序

3.1Maven的目录结构

image
image

3.2Maven的常用命令

mvn clean 清理编译的文件

mvn compile 编译了主目录的文件

mvn test 编译并运行test目录的代码

mvn package 打包

mvn install 就是把项目发布到本地仓库

mvn tomcat:run 一键启动

3.3Maven的生命周期(了解)

Compile test package install deploy(发布到私服)
三种生命周期

Clean生命周期
Clean

Default生命周期
Compile test package install deploy

Site生命周期
Site

3.4命令和生命周期的阶段的关系

不同的生命周期的命令可以同时执行
mvn clean package

4.项目构建

M2e插件的安装

Maven在eclipse的配置
1、选择3.3.9版本的maven软件
image
2、修改默认的本地仓库地址
image

项目构建
1、新建maven项目
image
2、跳过骨架,如果不跳过骨架选择创建出的项目目录是不全的
image

2、填写坐标
image
3、创建工程
image
4、处理红色叉号
手动在webapp文件夹下创建一个WEB-INF文件夹,在里面放一个web.xml文件

5、处理编译版本

在pom.xml中添加如下代码

<build>
		<!-- 配置了很多插件 -->
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>3.5.1</version>  
				<configuration>
					<source>1.7</source>
					<target>1.7</target>
					<encoding>UTF-8</encoding>
				</configuration>
			</plugin>
		</plugins>
	</build>

5、创建一个servlet

我创建了一个HelloServlet

修改web.xml
删除重复的代码
xmlns=http://java.sun.com/xml/ns/javaee

添加jar包
在pom中添加如下代码:

<dependencies>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>4.9</version>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>servlet-api</artifactId>
			<version>2.5</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>jsp-api</artifactId>
			<version>2.0</version>
			<scope>provided</scope>
		</dependency>
		
	</dependencies>

会发现jar包已添加到项目中

启动项目
右击项目—run as –maven build …
Goals中输入tomcat:run
然后点击run

打开浏览器,在地址栏输入http://localhost:8080/helloword/HelloServlet即可

5.依赖管理

Jar包的管理

需求:整合struts2
小功能:页面上传一个客户id 跳转页面

5.1添加依赖:

打开maven仓库的视图:

[Window]->[ShowView]->[Others]->[Maven]->[Maven Repositories]

5.2重建索引Rebuild Index

1、创建maven项目(同上)

2、跳过骨架(同上)

3、填写坐标信息(同上)

4、添加web.xml文件(同上)

5、修改编译版本(同上)

6、添加坐标 选择Dependencies标签 点击add

7、手动输入要添加的坐标,选择版本

8、可以看到 pom.xml文件中多出了如下代码

9、同样的方式添加servlet-api.jar和jsp-api.jar 注意选择scope为provided

10、写action代码

import com.opensymphony.xwork2.ActionSupport;
public class CutomerAction extends ActionSupport {
	private Long custId;
	public Long getCustId() {
		return custId;
	}
	public void setCustId(Long custId) {
		this.custId = custId;
	}
	public String findById(){
		
		return SUCCESS;
	}
	
}

11、添加struts.xml文件放到resources目录中

内容:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
    "http://struts.apache.org/dtds/struts-2.3.dtd">

<struts>
	<!-- 配置常量 -->
	<!-- 字符集 -->
	<constant name="struts.i18n.encoding" value="UTF-8"></constant>
	<!-- 开发模式 -->
	<constant name="struts.devMode" value="true"></constant>

	<!-- 通用package -->
	<package name="customer" namespace="/" extends="struts-default">

		<action name="find" class="cn.itcast.action.CutomerAction"	
			method="findById">
			<result name="success">/jsp/info.jsp</result>
		</action>

	</package>
</struts>

12、添加jsp页面

15、修改web.xml文件 添加过滤器

<filter>
    <filter-name>struts2</filter-name>
     <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
  </filter>
  <filter-mapping>
  <filter-name>struts2</filter-name>
  <url-pattern>/*</url-pattern>
  </filter-mapping>

5.3依赖范围

5.3.1Compile struts2-core

编译时需要,测试时需要,运行时需要,打包时需要

5.3.2Provided jsp-api.jar servlet-api.jar

编译时需要,测试时需要,运行时不需要,打包时不需要

5.3.3Runtime 数据库驱动包

编译时不需要,测试时需要,运行时需要,打包时需要

5.3.4Test junit.jar

编译时不需要,测试时需要,运行时不需要,打包也不需要

添加插件
Maven add plugin
image

如果用tomcat7运行用命令:

Tomcat7:run

常见问题:
image

猜你喜欢

转载自blog.csdn.net/as1072966956/article/details/83747916