Java框架 -- 项目管理工具Maven

一、Maven的简介

1.1 定义

Maven 是 Apache 下的一个开源项目,是纯 Java 开发,并且只是用来管理 Java 项目的。

1.2 优点

  • 对于同一个 JavaWeb 项目,用 Maven 管理的要比不用的小很多,对 jar 包做了统一管理,依赖管理
  • 一键构建
  • 可跨平台
  • 应用在大型项目可提高开发效率

1.3 依赖管理

对 jar 包的统一管理,项目需要哪个就引用仓库的哪个,这样可以节省空间。
在这里插入图片描述

1.4 项目一键构建

Maven能干的事:

编译、测试(junit)、运行、打包、部署。

二、Maven的安装配置

2.1 Maven工具的目录结构

在这里插入图片描述

2.2 环境变量配置

2.3 Maven仓库

  • 本地仓库(自己维护)
    本地仓库的配置只需要修改 Maven 核心文件 settings.xml 文件就可以。
    在这里插入图片描述
  • 远程仓库(私服,公司维护)
  • 中央仓库(Maven团队维护,共有 jar 包约两个亿)

三个仓库的关系:
在这里插入图片描述

三、命令行中使用Maven工具

  • mvn clean:清理编译的文件(target)

  • mvn compile:编译主目录的文件

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

  • mvn package:打包( jar 包(给别人用),war 包(Web工程,放到 tomcat 里直接运行))

  • mvn install:就是把项目(打包后的 war 包)发布到本地仓库

  • mvn tomcat:run:运行(包括编译)

四、Maven项目构建

4.1 Maven项目的目录结构

在这里插入图片描述

4.2 Maven在eclipse中的配置

4.2.1 选择Maven软件

在这里插入图片描述

4.2.2 修改默认的本地仓库地址

在这里插入图片描述

4.3 新建项目

4.3.1 新建maven项目

在这里插入图片描述

4.3.2 跳过骨架

如果不跳过骨架选择创建出的项目目录是不全的。
在这里插入图片描述

4.3.3 填写坐标

在这里插入图片描述

4.3.4 工程创建完成

在这里插入图片描述

4.3.5 处理红色叉号

手动在webapp文件夹下创建一个 WEB-INF 文件夹,在里面放一个 web.xml 文件。
Maven 支持 war 的打包方式,但是不支持 Web 工程。
在这里插入图片描述
也可一键生成(右键项目):
在这里插入图片描述

4.3.6 处理编译版本

需要添加 JDK 编译插件。
在这里插入图片描述
搜索。
在这里插入图片描述
<plugin> 被添加,但是其中的 <cofiguration> 需要自己写。<cofiguration> 不设置则默认。
在这里插入图片描述
此时工程会报错,需要更新。
在这里插入图片描述

4.4 完成项目

4.4.1 webapp 中添加 index.jsp

4.4.2 添加需要的 jar 包、插件

<build>
		<plugins>
			<!-- JDK编译插件 -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>3.1</version>
				<configuration>
					<source>1.7</source>	<!-- 源码版本 -->
					<target>1.7</target>	<!-- 编译后版本 -->
					<encoding>UTF-8</encoding>
				</configuration>
			</plugin>
			<!-- tomcat插件 -->
			<plugin>
				<groupId>org.apache.tomcat.maven</groupId>
				<artifactId>tomcat7-maven-plugin</artifactId>
				<version>2.2</version>
				<!-- 
				<configuration>
					<port>8080</port>
					<path>/</path>
					<charset>UTF-8</charset>
				</configuration> 
				-->
			</plugin>
		</plugins>
	</build>
	<dependencies>
		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>jsp-api</artifactId>
			<version>2.0</version>
			<scope>provided</scope>
		</dependency>
	</dependencies>

在这里插入图片描述
在这里插入图片描述
注意:
maven-war 工程导入 jsp-api.jar 后运行时出错。原因:部署到 tomcat 后,tomcat 中自带的 jsp-api.jar 和工程中添加的 tomcat 插件冲突。

解决方案:需要将添加的 jar 包设置为运行时不可用(设置依赖范围):<scope>provided</scope>

依赖范围:

  • Compile(如 commons-lang.jar)
    编译(compile)时需要 测试时需要,运行时需要,打包时需要
  • Provided(如 jsp-api.jar,servlet-api.jar)
    编译(compile)时需要,测试(test)时也需要 ,运行时不需要,打包时不需要
  • Runtime(如数据库驱动包)
    编译时不需要,测试时需要,运行时需要,打包时需要
  • Test(如 junit.jar)
    编译时不需要,测试时需要,运行时不需要,打包也不需要

4.4.3 运行

在这里插入图片描述
在这里插入图片描述
注:tomcat:run 默认使用 tomcat6,如用 tomcat7 则需写 tomcat7:run。
在这里插入图片描述
运行结果如下:
在这里插入图片描述

五、junit单元测试

5.1 由来

没有 main 方法,怎么调试?

单元测试,以方法为单元进行调试,企业中就是这样来进行调试的。

5.2 步骤

  • 导入相关 jar 包
    在这里插入图片描述
  • 给方法添加注解 @Test
package test;

import org.junit.Test;

public class Demo01 {
	@Test
	public void test1() {
		System.out.println("test1");
	}
	
	@Test
	public void test2() {
		System.out.println("test2");
	}
	
	@Test
	public void test3() {
		System.out.println("test3");
	}
}
  • 右键方法名 → Run as → JUnit Test
    在这里插入图片描述
  • 方法测试
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值