擅长管理大型项目
自动管理你需要的jar包
自动进行下载我们需要的jar包。
Maven是项目进行模型抽象,充分运用面向对象的思想,Maven可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目。
说白了: ==Maven是由Apache开发的一个工具。==用来管理java项目, 依赖管理(jar包的管理),项目构建.
依赖管理: maven对项目的第三方构件(jar包)进行统一管理。向工程中加入jar包不要手工从其它地方拷贝,通过maven定义jar包的坐标,自动从maven仓库中去下载到工程中。
项目构建: maven提供一套对项目生命周期管理的标准,开发人员、和测试人员统一使用maven进行项目构建。项目生命周期管理:编译、测试、打包、部署、运行。
maven对工程分模块构建,提高开发效率。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DpQG5TOT-1591757069989)(day18_maven.assets/1530969038737.png)]
仓库名称 | 作用 |
---|---|
本地仓库 | 相当于缓存,工程第一次会从远程仓库(互联网)去下载jar 包,将jar包存在本地仓库(在程序员的电脑上)。第二次不需要从远程仓库去下载。先从本地仓库找,如果找不到才会去远程仓库找。 |
中央仓库 | 就是远程仓库,仓库中jar由专业团队(maven团队)统一维护。中央仓库的地址:http://repo1.maven.org/maven2/ |
远程仓库(私服) | 私服是一种特殊的远程仓库,它是架设在局域网内的仓库服务,私服代理广域网上的远程仓库,供局域网内的Maven用户使用。当Maven须要下载构件的时候。它从私服请求,假设私服上不存在该构件,则从外部的远程仓库下载,缓存在私服上之后,再为Maven的下载请求提供服务。 |
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cJ4rKkkH-1591757069991)(day18_maven.assets/1530969111977.png)]
Maven的一个核心的作用就是管理项目的依赖,引入我们所需的各种jar包等。在Maven中,不论什么一个依赖、插件或者项目构建的输出, 都能够称之为构件。
为了能自动化的解析任何一个Java构件. Maven必须将这些Jar包或者其他资源进行唯一标识,这是管理项目的依赖的基础,也就是我们要说的坐标。
包括我们自己开发的项目,也是要通过坐标进行唯一标识的,这样才能才其它项目中进行依赖引用。坐标的定义元素如下:
例如:要引入druid的jar包,只需要在pom.xml配置文件中配置引入druid的坐标即可:
<dependency>
<groupId>com.alibabagroupId>
<artifactId>druidartifactId>
<version>1.1.10version>
dependency>
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-y0VCiM3J-1591757069992)(day18_maven.assets/1571635692104.png)]
将maven压缩包解压, 复制到没有中文没有空格的目录下,即安装完毕
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KsNFvwkf-1591757069995)(day18_maven.assets/1571635743923.png)]
目录名 | 作用 |
---|---|
bin | 可执行指令 |
boot | 第三方类的加载框架 |
conf | 配置文件目录 |
lib | maven自身的类库 |
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YKy0PpS5-1591757069997)(day18_maven.assets/1571636629488.png)]
MAVEN_HOME=D:\01_install\03_kaifa\apache-maven-3.6.1
Path=%MAVEN_HOME%\bin;... ...
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XZ95w1Rb-1591757069998)(day18_maven.assets/1571636683606.png)]
1、找到Maven解压目录\conf\settings.xml
2、在setting.xml 文件中找到 localRepository 标签
3、将 /path/to/local/repo 从注释中取出
4、将标签体内容修改为自定义的Maven仓库目录
复制到 没有中文和空格 目录下
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IiO3IIEn-1591757069999)(day18_maven.assets/1571637131430.png)]
在maven的安装目录中 maven/conf/settings.xml 配置本地仓库:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WAxATd8Q-1591757070000)(day18_maven.assets/1571637290924.png)]
<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">
<localRepository>D:\01_install\03_kaifa\repository_mavenlocalRepository>
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-erflScAC-1591757070000)(day18_maven.assets/1571637387340.png)]
<mirrors>
<mirror>
<id>alimavenid>
<name>aliyun mavenname>
<url>http://maven.aliyun.com/nexus/content/groups/public/url>
<mirrorOf>centralmirrorOf>
mirror>
mirrors>
打开cmd本地控制台, 输入
mvn -version
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Bb6iad3v-1591757070001)(day18_maven.assets/1571637596719.png)]
Maven工具安装包 和 本地仓库解压到一个没有中文没有空格目录下. 建议分两个文件夹
配置Maven的时候(必须MAVEN_HOME)
方式一:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jB8ElGED-1591757070002)(day18_maven.assets/1571795547739.png)]
方式二
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TPTQxjP6-1591757070003)(day18_maven.assets/1571637961086.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vSNIhfZM-1591757070004)(day18_maven.assets/1571785194218.png)]
因为 联网 下载内容, 所以 导致创建工程缓慢
-DarchetypeCatalog=internal
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-thMFY6y9-1591757070005)(day18_maven.assets/1571651141645.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WIdMQdpx-1591757070006)(day18_maven.assets/1571638978518.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oSYgSoBE-1591757070007)(day18_maven.assets/1571639060631.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MAWTw46e-1591757070007)(day18_maven.assets/1571639097047.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FG3CzwD8-1591757070008)(day18_maven.assets/1571639128629.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dVFbwDvr-1591757070009)(day18_maven.assets/1571639192677.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DKSGb9X3-1591757070010)(day18_maven.assets/1571639234551.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UbA9p98c-1591757070010)(day18_maven.assets/1571639808115.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-u7Dlwjq7-1591757070011)(day18_maven.assets/1571639845612.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xxjMWdFe-1591757070012)(day18_maven.assets/1571639911574.png)]
目录 | 作用 |
---|---|
main/java | 存放java代码 |
resources | 存放配置文件的 |
test/java | 存放测试java代码 |
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9iVlPL8W-1591757070013)(day18_maven.assets/1571639974745.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ogwfs71x-1591757070014)(day18_maven.assets/1571640197272.png)]
package cn.itcast;
public class ProductDao {
public void add() {
System.out.println("1 添加商品 ... ...");
}
public void del() {
System.out.println("2 删除商品 ... ...");
}
public void update() {
System.out.println("3 修改商品 ... ...");
}
public void queryAll() {
System.out.println("4 查询所有商品 ... ...");
}
}
正式上线前, 每个方法都必须经过测试, 目前我们能够想到的就是main方法.
因为一个类只有一个main方法, 一个类可能有上千个方法, 那得需要多少个方法, 所以 迫切需要更高效方法, junit测试登场了.
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-l6nYQvNg-1591757070015)(day18_maven.assets/1571640260878.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-f0y0rfzd-1591757070016)(day18_maven.assets/1571640299024.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CeikPVzo-1591757070016)(day18_maven.assets/1571640360185.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TZNJyX3t-1591757070017)(day18_maven.assets/1537362379635.png)]
为什么junit报红? 因为缺少junit包, 导入缺少的junit包即可.
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-g5efkuxF-1591757070018)(day18_maven.assets/1571640422448.png)]
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0modelVersion>
<groupId>cn.itcastgroupId>
<artifactId>day1801artifactId>
<version>1.0-SNAPSHOTversion>
<dependencies>
<dependency>
<groupId>junitgroupId>
<artifactId>junitartifactId>
<version>4.12version>
dependency>
dependencies>
project>
报红解决:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9B7hIa7U-1591757070019)(day18_maven.assets/1571640449058.png)]
完成测试代码:
package cn.itcast;
import org.junit.Test;
public class ProductDaoTest {
private ProductDao productDao = new ProductDao();
@Test
public void add() {
productDao.add();
}
@Test
public void del() {
productDao.del();
}
@Test
public void update() {
productDao.update();
}
@Test
public void queryAll() {
productDao.queryAll();
}
}
一个一个测试,太累了, 给大家介绍一个简单的.
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qhsPmnYa-1591757070020)(day18_maven.assets/1571640789291.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-u4xap3NL-1591757070021)(day18_maven.assets/1571643211567.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YMPJNeJo-1591757070022)(day18_maven.assets/1571643255407.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4UM24F1R-1591757070023)(day18_maven.assets/1571643318618.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rM0eDnze-1591757070023)(day18_maven.assets/1571643469936.png)]
* 缺少 resources目录 补上
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5jL9bF2A-1591757070024)(day18_maven.assets/1571643618970.png)]
pom.xml中会产生很多多余的配置
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-754yA0HV-1591757070025)(day18_maven.assets/1571643672589.png)]
总结: 因为创建有骨架的java工程会产生很多多余的配置, 所以实际开发中一般不用.
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WAC3GUmu-1591757070026)(day18_maven.assets/1571643983838.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gs6HRJtu-1591757070027)(day18_maven.assets/1571644003571.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Usny9Y05-1591757070028)(day18_maven.assets/1571644017266.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-230sQ3kq-1591757070029)(day18_maven.assets/1571644028167.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LgKY8kub-1591757070030)(day18_maven.assets/1571644081864.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZS7tBlMS-1591757070031)(day18_maven.assets/1537365617727.png)]
经过对比发现如下问题:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6HKzdgn4-1591757070032)(day18_maven.assets/1537365726887.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8FX7GKbW-1591757070033)(day18_maven.assets/1537365747597.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TLBrXW8j-1591757070034)(day18_maven.assets/1537365811337.png)]
更改java目录属性
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YUQlwDJy-1591757070035)(day18_maven.assets/1537365915916.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VjbzoVSy-1591757070035)(day18_maven.assets/1537365941638.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1d8iDamu-1591757070036)(day18_maven.assets/1537365960822.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1kThbC0N-1591757070037)(day18_maven.assets/1537365982221.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uTxeiz2H-1591757070038)(day18_maven.assets/1537365994589.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-G1qHjyOL-1591757070039)(day18_maven.assets/1537366029843.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-k4NpZ0rj-1591757070040)(day18_maven.assets/1537366119328.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aeOgsD6D-1591757070040)(day18_maven.assets/1537366137117.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Pxj6s4KY-1591757070041)(day18_maven.assets/1537366151796.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MMuLU34o-1591757070042)(day18_maven.assets/1537366176109.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hMtr7c66-1591757070043)(day18_maven.assets/1537366192184.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-P9joMhmB-1591757070044)(day18_maven.assets/1537366210414.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pIHHgy7p-1591757070044)(day18_maven.assets/1537366237164.png)]
总结: 使用骨架创建的web项目 在开发时不常用!
理由1: 在pom.xml增加不必要的配置
理由2: 完整的web工程缺的东西太多!
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-13zOr5mq-1591757070045)(day18_maven.assets/1571644419657.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IeTOwIyY-1591757070046)(day18_maven.assets/1571644449059.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-u6m3Xhle-1591757070047)(day18_maven.assets/1571644473424.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-K1iFNSR4-1591757070048)(day18_maven.assets/1571644497436.png)]
修改打包方式
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6lnczjgT-1591757070048)(day18_maven.assets/1571644641270.png)]
标准web项目的目录结构
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1a6NcWVT-1591757070050)(day18_maven.assets/1537365617727.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qg0QBq2U-1591757070051)(day18_maven.assets/1571644992692.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-H5aKJH3f-1591757070052)(day18_maven.assets/1571645289905.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bQPwmn2G-1591757070052)(day18_maven.assets/1571645306990.png)]
因为 web项目最终跑在web服务器中, 所以需要配置 web服务器(tomcat只是其中一个)
pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0modelVersion>
<groupId>cn.itcast.mavengroupId>
<artifactId>web02artifactId>
<version>1.0-SNAPSHOTversion>
<packaging>warpackaging>
<build>
<plugins>
<plugin>
<groupId>org.apache.tomcat.mavengroupId>
<artifactId>tomcat7-maven-pluginartifactId>
<version>2.2version>
<configuration>
<port>80port>
<path>/day1804path>
configuration>
plugin>
plugins>
build>
project>
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zgdzzYZK-1591757070053)(day18_maven.assets/1571645670350.png)]
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Titletitle>
head>
<body>
<h1>这是我的第一个maven版本的web项目!h1>
body>
html>
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6H4u5CrR-1591757070054)(day18_maven.assets/1571645721863.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-s9MazFhG-1591757070055)(day18_maven.assets/1571645760741.png)]
测试:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0Rg5jJQ0-1591757070055)(day18_maven.assets/1571645800246.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gF6iZ9Sh-1591757070056)(day18_maven.assets/1571646401841.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qmWvk89f-1591757070057)(day18_maven.assets/1571646440164.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IWK0DbWN-1591757070057)(day18_maven.assets/1571646512205.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AQaw2Kuy-1591757070058)(day18_maven.assets/1571646600055.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4j2KBlEP-1591757070059)(day18_maven.assets/1571646808325.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-t3alz01Q-1591757070059)(day18_maven.assets/1571646885072.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LNNMzKn7-1591757070060)(day18_maven.assets/1571646966414.png)]
在pom.xml增加servlet依赖
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sksIk9Sr-1591757070061)(day18_maven.assets/1571647275049.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OgZJ5huk-1591757070063)(day18_maven.assets/1571647302251.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8LDwHFxr-1591757070064)(day18_maven.assets/1571647352446.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-M3E2PKTx-1591757070065)(day18_maven.assets/1571647411268.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ebf2F3yG-1591757070066)(day18_maven.assets/1571647528706.png)]
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0modelVersion>
<groupId>cn.itcastgroupId>
<artifactId>day1804artifactId>
<version>1.0-SNAPSHOTversion>
<packaging>warpackaging>
<dependencies>
<dependency>
<groupId>javax.servletgroupId>
<artifactId>javax.servlet-apiartifactId>
<version>3.1.0version>
<scope>providedscope>
dependency>
dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.tomcat.mavengroupId>
<artifactId>tomcat7-maven-pluginartifactId>
<version>2.2version>
<configuration>
<port>80port>
<path>/day1804path>
configuration>
plugin>
plugins>
build>
project>
经过观察,servlet不再报错
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Zip956ZQ-1591757070069)(day18_maven.assets/1571647734636.png)]
测试:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jklwpgKX-1591757070070)(day18_maven.assets/1571647714708.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2azvI4rh-1591757070072)(day18_maven.assets/1571647994685.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FUL3H9za-1591757070072)(day18_maven.assets/1530977033459.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pjIXUhHY-1591757070073)(day18_maven.assets/1571648094960.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EDMiKqkT-1591757070074)(day18_maven.assets/1571648143525.png)]
发现 target目录 被 清除了
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oAkFFgCF-1591757070075)(day18_maven.assets/1571648180288.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dkV5Xgbd-1591757070076)(day18_maven.assets/1571813451648.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qbBwpd9X-1591757070076)(day18_maven.assets/1571648740838.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lvlBvqP3-1591757070077)(day18_maven.assets/1571649010223.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FUUESocZ-1591757070078)(day18_maven.assets/1571649184818.png)]
执行清屏命令:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XA8NhGOp-1591757070079)(day18_maven.assets/1571649234950.png)]
经过观察发现target目录消失:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ork9Ecg1-1591757070079)(day18_maven.assets/1571649285060.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yXxiqAsx-1591757070080)(day18_maven.assets/1530977220710.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FFLFHiPn-1591757070081)(day18_maven.assets/1571649436088.png)]
测试命令: 执行 src/test/java 下junit的测试用例
准备工作1: 业务类
package cn.itcast.service;
public class UserService {
public void add() {
System.out.println("=============1 UserService.add 天生傲娇 ... ...");
}
public void queryAll() {
System.out.println("=============2 UserService.queryAll ... ...");
}
}
准备工作2: 测试类
package cn.itcast.service;
import org.junit.Test;
public class UserServiceTest {
private UserService userService = new UserService();
@Test
public void add() {
userService.add();
}
@Test
public void queryAll() {
userService.queryAll();
}
}
测试:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lvqFaQDb-1591757070081)(day18_maven.assets/1571649973784.png)]
mvn package, 打包项目
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-03s2KVny-1591757070084)(day18_maven.assets/1571650068040.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dzE0WArt-1591757070084)(day18_maven.assets/1571650191556.png)]
mvn install, 打包后将其安装在本地仓库
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FDdrxulG-1591757070085)(day18_maven.assets/1571650295273.png)]
安装完毕后,可以在本地仓库中找到 对应的项目
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nNAOh0Yc-1591757070086)(day18_maven.assets/1571650412338.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ir1bFsko-1591757070087)(day18_maven.assets/1530978764025.png)]
pom.xml
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LF5qMVz4-1591757070087)(day18_maven.assets/1571650607384.png)]
<plugin>
<groupId>org.apache.maven.pluginsgroupId>
<artifactId>maven-compiler-pluginartifactId>
<version>3.2version>
<configuration>
<source>1.8source>
<target>1.8target>
<encoding>UTF-8encoding>
configuration>
plugin>
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-c9d3kL1M-1591757070088)(day18_maven.assets/1571650718594.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OgeBZ4JA-1591757070089)(day18_maven.assets/1571650688355.png)]
<plugin>
<groupId>org.apache.tomcat.mavengroupId>
<artifactId>tomcat7-maven-pluginartifactId>
<version>2.2version>
<configuration>
<port>80port>
<path>/day1804path>
configuration>
plugin>
运行tomcat插件
方式一
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-t0QwG3ML-1591757070090)(day18_maven.assets/1571813786908.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-p3g8Rkrt-1591757070091)(day18_maven.assets/1571651442564.png)]
方式二
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KLC7n4Fn-1591757070091)(day18_maven.assets/1571651462914.png)]
tomcat 插件注意问题
Maven的中央仓库中只有tomcat7.X版本
如果想使用tomcat8.X版本,
<dependencies>
<dependency>
<groupId>junitgroupId>
<artifactId>junitartifactId>
<version>4.12version>
dependency>
dependencies>
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dxY2jIp2-1591757070092)(day18_maven.assets/1530980380837.png)]
import org.junit.Test;
public class DemoTest {
@Test
public void demo1() {
System.out.println("敢于亮剑,绝不后退!");
}
}
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9p1r7Bak-1591757070092)(day18_maven.assets/1530980434008.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-85T5WPMg-1591757070093)(day18_maven.assets/1530980596377.png)]
<dependency>
<groupId>javax.servletgroupId>
<artifactId>javax.servlet-apiartifactId>
<version>3.1.0version>
<scope>providedscope>
dependency>
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6NWyAtS2-1591757070094)(day18_maven.assets/1530980728536.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-y04EoQm7-1591757070095)(day18_maven.assets/1530980805944.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qR8KnAQc-1591757070095)(day18_maven.assets/1530980856407.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QQeyqoZw-1591757070096)(day18_maven.assets/1531021609684.png)]
create database day18_db;
use day18_db;
create table user(
id int primary key auto_increment,
name varchar(50),
money int
);
insert into user(id, name, money) values(null, '张三', 1000);
insert into user(id, name, money) values(null, '李四', 1000);
insert into user(id, name, money) values(null, '王五', 1000);
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5OhJXbwX-1591757070097)(day18_maven.assets/1571652093789.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6I9jHNTL-1591757070098)(day18_maven.assets/1571652122987.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3n7Vn6u3-1591757070099)(day18_maven.assets/1571652156154.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tNVcWupz-1591757070100)(day18_maven.assets/1571652239439.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9Vpe9jZm-1591757070100)(day18_maven.assets/1571652573617.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sQC1FWMg-1591757070101)(day18_maven.assets/1571652825828.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-V2XCwIOd-1591757070101)(day18_maven.assets/1571652856355.png)]
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://maven.apache.org/POM/4.0.0"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0modelVersion>
<groupId>cn.itcastgroupId>
<artifactId>day1805artifactId>
<version>1.0-SNAPSHOTversion>
<packaging>warpackaging>
<dependencies>
<dependency>
<groupId>javax.servletgroupId>
<artifactId>javax.servlet-apiartifactId>
<version>3.1.0version>
<scope>providedscope>
dependency>
<dependency>
<groupId>junitgroupId>
<artifactId>junitartifactId>
<version>4.12version>
<scope>testscope>
dependency>
<dependency>
<groupId>mysqlgroupId>
<artifactId>mysql-connector-javaartifactId>
<version>5.1.38version>
dependency>
<dependency>
<groupId>org.mybatisgroupId>
<artifactId>mybatisartifactId>
<version>3.4.5version>
dependency>
<dependency>
<groupId>org.slf4jgroupId>
<artifactId>slf4j-log4j12artifactId>
<version>1.6.4version>
dependency>
<dependency>
<groupId>com.fasterxml.jackson.coregroupId>
<artifactId>jackson-databindartifactId>
<version>2.4.2version>
dependency>
dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.pluginsgroupId>
<artifactId>maven-compiler-pluginartifactId>
<version>3.2version>
<configuration>
<source>1.8source>
<target>1.8target>
<encoding>UTF-8encoding>
configuration>
plugin>
<plugin>
<groupId>org.apache.tomcat.mavengroupId>
<artifactId>tomcat7-maven-pluginartifactId>
<version>2.2version>
<configuration>
<port>9000port>
<path>/day1805path>
configuration>
plugin>
plugins>
build>
project>
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EmJSOo6W-1591757070102)(day18_maven.assets/1571656978762.png)]
package cn.itcast.mapper;
import cn.itcast.pojo.User;
import java.util.List;
public interface UserMapper {
/*查询所有*/
public List<User> queryAll();
}
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XIEYtayz-1591757070103)(day18_maven.assets/1571657003788.png)]
<mapper namespace="cn.itcast.mapper.UserMapper">
<select id="queryAll" resultType="User">
select * from tb_user
select>
mapper>
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tMCrzSRB-1591757070103)(day18_maven.assets/1571657032008.png)]
package cn.itcast.service;
import cn.itcast.pojo.User;
import java.util.List;
public interface UserService {
/**
* 查询所有
*/
public List<User> queryAll();
}
package cn.itcast.service.impl;
import cn.itcast.base.BaseService;
import cn.itcast.mapper.UserMapper;
import cn.itcast.pojo.User;
import cn.itcast.service.UserService;
import org.apache.ibatis.session.SqlSession;
import java.util.List;
public class UserServiceImpl extends BaseService implements UserService {
@Override
public List<User> queryAll() {
SqlSession sqlSession = getSession();
UserMapper userMapper = getDao(sqlSession, UserMapper.class);
List<User> userList = null;
try {
userList = userMapper.queryAll();
commitAndCloseSession(sqlSession);
} catch (Exception e) {
e.printStackTrace();
rollbackAndCloseSession(sqlSession);
}
return userList;
}
}
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pQpqtAQ7-1591757070104)(day18_maven.assets/1571657054504.png)]
package cn.itcast.service;
import cn.itcast.pojo.User;
import cn.itcast.service.impl.UserServiceImpl;
import org.junit.Test;
import java.util.List;
public class UserServiceTest {
@Test
public void queryAll() {
UserService userService = new UserServiceImpl();
List<User> userList = userService.queryAll();
for (User user : userList) {
System.out.println(user);
}
}
}
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mX1aUOhF-1591757070105)(day18_maven.assets/1571657338301.png)]
package cn.itcast.web;
import cn.itcast.pojo.User;
import cn.itcast.service.UserService;
import cn.itcast.service.impl.UserServiceImpl;
import com.fasterxml.jackson.databind.ObjectMapper;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;
@WebServlet("/userQueryAll")
public class UserQueryAllServlet extends HttpServlet {
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 解决获取参数的中文乱码 (浏览器 -> 服务器)
request.setCharacterEncoding("utf-8");
// 解决浏览器出现的中文乱码
response.setContentType("text/html;charset=utf-8");
// 1 调用业务层 查询所有用户
UserService userService = new UserServiceImpl();
List<User> userList = userService.queryAll();
// 2 将所用用户集合 转成json字符串
ObjectMapper objectMapper = new ObjectMapper();
String json = objectMapper.writeValueAsString(userList);
// 3 将json字符串返回给浏览器
response.getWriter().println(json);
}
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
}
}
http://localhost:9000/day1805/userQueryAll
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QZzxRoUi-1591757070106)(day18_maven.assets/1571657403652.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lEq1FnBB-1591757070106)(day18_maven.assets/1571657999128.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ckY9o1A7-1591757070107)(day18_maven.assets/1571658039345.png)]
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Titletitle>
head>
<body>
<div id="app">
<table align="center" border="1" cellpadding="10" cellspacing="0" width="50%">
<tr>
<th>编号th>
<th>姓名th>
<th>存款th>
<th>操作th>
tr>
<tr v-for="user in userList">
<td>{{user.id}}td>
<td>{{user.name}}td>
<td>{{user.money}}td>
<td>
<a href="javascript:void(0)">删除a>
<a href="javascript:void(0)">修改a>
td>
tr>
table>
div>
<script src="js/vue.min.js">script>
<script src="js/axios-0.18.0.js">script>
<script src="js/user.js">script>
body>
html>
http://localhost:9000/day1805/userList.html
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WTJvwha4-1591757070108)(day18_maven.assets/1571658074491.png)]
1 tomcat插件重复启动:导致端口占用
2 index.html放到WEB-INF下面,导致访问不到这个html页面
3 名称不叫index.html,结果直接输入localhost:8080,访问不到这个页面
4 关联了jre,需要使用JDK
5 需要使用我给的仓库
需求:
a项目 需要mysql包
b项目 需要mysql包
c项目 需要mysql包
都需要,所以需要配置三次
问题:
重复的代码配置了三次, 次数 100万个项目, 配置100万次
解决:
继承了, 拥有了父类的一切
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0modelVersion>
<groupId>cn.itcastgroupId>
<artifactId>itcast_parentartifactId>
<version>1.0-SNAPSHOTversion>
<properties>
<servlet.version>3.1.0servlet.version>
<mysql.version>5.1.32mysql.version>
<jackson.version>2.5.2jackson.version>
properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>javax.servletgroupId>
<artifactId>javax.servlet-apiartifactId>
<version>${servlet.version}version>
<scope>providedscope>
dependency>
<dependency>
<groupId>mysqlgroupId>
<artifactId>mysql-connector-javaartifactId>
<version>${mysql.version}version>
dependency>
<dependency>
<groupId>com.fasterxml.jackson.coregroupId>
<artifactId>jackson-databindartifactId>
<version>${jackson.version}version>
dependency>
dependencies>
dependencyManagement>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.pluginsgroupId>
<artifactId>maven-compiler-pluginartifactId>
<version>3.2version>
<configuration>
<source>1.8source>
<target>1.8target>
<encoding>UTF-8encoding>
configuration>
plugin>
plugins>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.tomcat.mavengroupId>
<artifactId>tomcat7-maven-pluginartifactId>
<version>2.2version>
plugin>
plugins>
pluginManagement>
build>
project>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>itcast_parentartifactId>
<groupId>cn.itcastgroupId>
<version>1.0-SNAPSHOTversion>
parent>
<modelVersion>4.0.0modelVersion>
<artifactId>itcast_daoartifactId>
<dependencies>
<dependency>
<groupId>mysqlgroupId>
<artifactId>mysql-connector-javaartifactId>
<version>5.1.38version>
dependency>
<dependency>
<groupId>javax.servletgroupId>
<artifactId>javax.servlet-apiartifactId>
<scope>providedscope>
dependency>
<dependency>
<groupId>com.fasterxml.jackson.coregroupId>
<artifactId>jackson-databindartifactId>
dependency>
dependencies>
project>
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1w1GnJma-1591757070109)(day18_maven.assets/1571822613116.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VuoIgwCs-1591757070109)(day18_maven.assets/1571822628116.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GexJatEm-1591757070110)(day18_maven.assets/1535444139772.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qcq9NWwc-1591757070112)(day18_maven.assets/1571757683359.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fXCN6xQR-1591757070113)(day18_maven.assets/1571757866402.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-so7yB9ip-1591757070114)(day18_maven.assets/1571757725403.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GDRIra05-1591757070114)(day18_maven.assets/1571757742830.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-N9n3SVnR-1591757070115)(day18_maven.assets/1571757786813.png)]
因为这个项目的唯一作用是用来管理版本的, 所以删掉没有用的src目录
删除完成,如下图
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vpSnd9Zm-1591757070115)(day18_maven.assets/1571757918526.png)]
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://maven.apache.org/POM/4.0.0"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0modelVersion>
<groupId>cn.itcast.itheimagroupId>
<artifactId>itheima_parentartifactId>
<version>1.0-SNAPSHOTversion>
<packaging>pompackaging>
<properties>
<junit.version>4.12junit.version>
<servlet.version>3.1.0servlet.version>
<mysql.version>5.1.38mysql.version>
<mybatis.version>3.4.5mybatis.version>
<slf4j.version>1.6.4slf4j.version>
<jackson.version>2.4.2jackson.version>
properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>junitgroupId>
<artifactId>junitartifactId>
<version>${junit.version}version>
dependency>
<dependency>
<groupId>mysqlgroupId>
<artifactId>mysql-connector-javaartifactId>
<version>${mysql.version}version>
dependency>
<dependency>
<groupId>org.mybatisgroupId>
<artifactId>mybatisartifactId>
<version>${mybatis.version}version>
dependency>
<dependency>
<groupId>org.slf4jgroupId>
<artifactId>slf4j-log4j12artifactId>
<version>${slf4j.version}version>
dependency>
<dependency>
<groupId>com.fasterxml.jackson.coregroupId>
<artifactId>jackson-databindartifactId>
<version>${jackson.version}version>
dependency>
<dependency>
<groupId>javax.servletgroupId>
<artifactId>javax.servlet-apiartifactId>
<version>${servlet.version}version>
<scope>providedscope>
dependency>
dependencies>
dependencyManagement>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.pluginsgroupId>
<artifactId>maven-compiler-pluginartifactId>
<version>3.2version>
<configuration>
<source>1.8source>
<target>1.8target>
<encoding>UTF-8encoding>
configuration>
plugin>
plugins>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.tomcat.mavengroupId>
<artifactId>tomcat7-maven-pluginartifactId>
<version>2.2version>
plugin>
plugins>
pluginManagement>
build>
project>
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gUCVwLMd-1591757070116)(day18_maven.assets/1571758247586.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-b88Y7T72-1591757070116)(day18_maven.assets/1571758275176.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Oju9Rric-1591757070117)(day18_maven.assets/1571758344641.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NgOD0n5x-1591757070118)(day18_maven.assets/1571758387771.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-h6wNUu6w-1591757070118)(day18_maven.assets/1571758456799.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HdBkvSkg-1591757070119)(day18_maven.assets/1571758486904.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iZk4drrc-1591757070119)(day18_maven.assets/1571758524723.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CzPj3g5F-1591757070120)(day18_maven.assets/1571758543316.png)]
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>itheima_parentartifactId>
<groupId>com.itheimagroupId>
<version>1.0-SNAPSHOTversion>
parent>
<modelVersion>4.0.0modelVersion>
<artifactId>itheima_daoartifactId>
<packaging>jarpackaging>
<dependencies>
<dependency>
<groupId>junitgroupId>
<artifactId>junitartifactId>
<scope>testscope>
dependency>
<dependency>
<groupId>mysqlgroupId>
<artifactId>mysql-connector-javaartifactId>
dependency>
<dependency>
<groupId>org.mybatisgroupId>
<artifactId>mybatisartifactId>
dependency>
<dependency>
<groupId>org.slf4jgroupId>
<artifactId>slf4j-log4j12artifactId>
dependency>
dependencies>
project>
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-83VP9I1W-1591757070121)(day18_maven.assets/1571758721673.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0VB8zu2D-1591757070121)(day18_maven.assets/1571758801627.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7OTuh4Dx-1591757070122)(day18_maven.assets/1571759032005.png)]
package cn.itcast.mapper;
import cn.itcast.pojo.User;
import cn.itcast.utils.SqlSessionUtils;
import org.apache.ibatis.session.SqlSession;
import org.junit.Before;
import org.junit.Test;
import java.util.List;
public class UserMapperTest {
UserMapper userMapper;
SqlSession sqlSession;
@Before
public void init() throws Exception {
sqlSession = SqlSessionUtils.openSession();
userMapper = sqlSession.getMapper(UserMapper.class);
}
@Test
public void queryAll() {
List<User> userList = userMapper.queryAll();
for (User user : userList) {
System.out.println(user);
}
}
}
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8TLRgfN3-1591757070122)(day18_maven.assets/1571759263156.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RwFcmFEg-1591757070123)(day18_maven.assets/1571759290140.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lK8nr2Qd-1591757070124)(day18_maven.assets/1571759357195.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kKl1koO2-1591757070124)(day18_maven.assets/1571759386610.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LGMmZCRH-1591757070125)(day18_maven.assets/1571759436199.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-asbHGzz3-1591757070125)(day18_maven.assets/1571759477172.png)]
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>itheima_parentartifactId>
<groupId>com.itheimagroupId>
<version>1.0-SNAPSHOTversion>
parent>
<modelVersion>4.0.0modelVersion>
<artifactId>itheima_serviceartifactId>
<dependencies>
<dependency>
<artifactId>itheima_daoartifactId>
<groupId>com.itheimagroupId>
<version>1.0-SNAPSHOTversion>
dependency>
<dependency>
<groupId>junitgroupId>
<artifactId>junitartifactId>
<scope>testscope>
dependency>
dependencies>
project>
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4en9aDFR-1591757070126)(day18_maven.assets/1571759626148.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CtIqlE1C-1591757070126)(day18_maven.assets/1571759666090.png)]
package cn.itcast.service;
import cn.itcast.pojo.User;
import cn.itcast.service.impl.UserServiceImpl;
import org.junit.Test;
import java.util.List;
public class UserServiceTest {
@Test
public void queryAll() {
UserService userService = new UserServiceImpl();
List<User> userList = userService.queryAll();
for (User user : userList) {
System.out.println(user);
}
}
}
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EzplvhOF-1591757070127)(day18_maven.assets/1571759773164.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yjNXchaw-1591757070128)(day18_maven.assets/1571759811629.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CG4yluJO-1591757070128)(day18_maven.assets/1571759839291.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6l2dm6rV-1591757070129)(day18_maven.assets/1571759871194.png)]
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>itheima_parentartifactId>
<groupId>com.itheimagroupId>
<version>1.0-SNAPSHOTversion>
parent>
<modelVersion>4.0.0modelVersion>
<artifactId>itheima_webartifactId>
<packaging>warpackaging>
<build>
<plugins>
<plugin>
<groupId>org.apache.tomcat.mavengroupId>
<artifactId>tomcat7-maven-pluginartifactId>
<version>2.2version>
<configuration>
<path>/path>
<port>9000port>
configuration>
plugin>
plugins>
build>
project>
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lQqEjVmB-1591757070130)(day18_maven.assets/1571761310525.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vA2UjtgZ-1591757070131)(day18_maven.assets/1571761420838.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-buNH2LxY-1591757070132)(day18_maven.assets/1571761705542.png)]
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Titletitle>
head>
<body>
<h1>敢于亮剑,绝不后退!h1>
body>
html>
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oPVGWAJZ-1591757070132)(day18_maven.assets/1571761772983.png)]
测试:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oFM9B7j2-1591757070133)(day18_maven.assets/1571762003244.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-feRedYsP-1591757070133)(day18_maven.assets/1571762143716.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MV5y9c7k-1591757070134)(day18_maven.assets/1571762259914.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-w8LZgPwt-1591757070135)(day18_maven.assets/1571762287940.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tn02l3dV-1591757070136)(day18_maven.assets/1571762332956.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KnsO1yI1-1591757070137)(day18_maven.assets/1571762502256.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PKM4gZlI-1591757070138)(day18_maven.assets/1571762839168.png)]
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>itheima_parentartifactId>
<groupId>com.itheimagroupId>
<version>1.0-SNAPSHOTversion>
parent>
<modelVersion>4.0.0modelVersion>
<artifactId>itheima_webartifactId>
<packaging>warpackaging>
<build>
<plugins>
<plugin>
<groupId>org.apache.tomcat.mavengroupId>
<artifactId>tomcat7-maven-pluginartifactId>
<version>2.2version>
<configuration>
<path>/path>
<port>9000port>
configuration>
plugin>
plugins>
build>
<dependencies>
<dependency>
<groupId>com.fasterxml.jackson.coregroupId>
<artifactId>jackson-databindartifactId>
dependency>
<dependency>
<groupId>javax.servletgroupId>
<artifactId>javax.servlet-apiartifactId>
<scope>providedscope>
dependency>
dependencies>
project>
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8YO1gomA-1591757070138)(day18_maven.assets/1571762910622.png)]
package cn.itcast.web;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.HashMap;
@WebServlet("/hello")
public class HelloServlet extends HttpServlet {
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 解决获取参数的中文乱码 (浏览器 -> 服务器)
request.setCharacterEncoding("utf-8");
// 解决浏览器出现的中文乱码
response.setContentType("text/html;charset=utf-8");
response.getWriter().println("你们真的很棒!");
}
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
}
}
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gbP1DJzL-1591757070139)(day18_maven.assets/1571762961879.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eqkCP8wp-1591757070140)(day18_maven.assets/1571763283828.png)]
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>itheima_parentartifactId>
<groupId>com.itheimagroupId>
<version>1.0-SNAPSHOTversion>
parent>
<modelVersion>4.0.0modelVersion>
<artifactId>itheima_webartifactId>
<packaging>warpackaging>
<build>
<plugins>
<plugin>
<groupId>org.apache.tomcat.mavengroupId>
<artifactId>tomcat7-maven-pluginartifactId>
<version>2.2version>
<configuration>
<path>/path>
<port>9000port>
configuration>
plugin>
plugins>
build>
<dependencies>
<dependency>
<groupId>com.fasterxml.jackson.coregroupId>
<artifactId>jackson-databindartifactId>
dependency>
<dependency>
<groupId>javax.servletgroupId>
<artifactId>javax.servlet-apiartifactId>
<scope>providedscope>
dependency>
<dependency>
<artifactId>itheima_serviceartifactId>
<groupId>com.itheimagroupId>
<version>1.0-SNAPSHOTversion>
dependency>
dependencies>
project>
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zXjiTDMQ-1591757070141)(day18_maven.assets/1571763398714.png)]
原因: 因为仓库中没有 service 的 jar包
解决:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3kQL4B31-1591757070142)(day18_maven.assets/1571764006201.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-A0bJNtJk-1591757070143)(day18_maven.assets/1571763708953.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LhylmNBu-1591757070144)(day18_maven.assets/1571763542436.png)]
再次启动正常, 测试:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MPuS4M1M-1591757070144)(day18_maven.assets/1571764065291.png)]
问题
每次发布项目都需要依次发布 父模块和依赖的模块, 是不是很麻烦
解决
通过聚合交给父模块管理,一次性发布所有的项目
how
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SXBsxKA1-1591757070145)(day18_maven.assets/1571764692138.png)]
.org/xsd/maven-4.0.0.xsd">
itheima_parent
com.itheima
1.0-SNAPSHOT
4.0.0
itheima_web
war
org.apache.tomcat.maven
tomcat7-maven-plugin
2.2
/
9000
com.fasterxml.jackson.core
jackson-databind
javax.servlet
javax.servlet-api
provided
itheima_service
com.itheima
1.0-SNAPSHOT
```
[外链图片转存中…(img-zXjiTDMQ-1591757070141)]
原因: 因为仓库中没有 service 的 jar包
解决:
[外链图片转存中…(img-3kQL4B31-1591757070142)]
[外链图片转存中…(img-A0bJNtJk-1591757070143)]
[外链图片转存中…(img-LhylmNBu-1591757070144)]
再次启动正常, 测试:
[外链图片转存中…(img-MPuS4M1M-1591757070144)]
问题
每次发布项目都需要依次发布 父模块和依赖的模块, 是不是很麻烦
解决
通过聚合交给父模块管理,一次性发布所有的项目
how
[外链图片转存中…(img-SXBsxKA1-1591757070145)]