maven 如何引入不同版本_Maven--项目管理工具(二)

本文介绍了Maven项目中pom配置文件的使用,包括pom文件的作用、配置内容,如modelVersion、坐标管理、插件资源引入。详细讲解了war类型项目的配置和本地启动,以及如何通过Maven完成用户信息增删改查功能的实现,还解决了Maven项目java目录下配置文件不被编译的问题,并指导了如何将项目打包到本地仓库。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

76f138ddfeb95fb3e2e2922d7298b732.png

【Maven】

☞Maven入门教程-Maven项目实战☜

六、Maven项目中pom配置文件的使用

1. pom文件的作用

在maven项目中,通过maven来获取和管理第三方的资源。每个maven项目默认是有一个pom文件的。该文件是用来告诉maven当前项目中需要使用的资源的,该文件会被maven自动加载识别。我们需要在pom配置文件中声明需要使用的资源的坐标即可。

注意:

当pom文件被修改的时候,maven会自动的重新加载pom文件,并根据文件的最新内容加载最新的资源。可以理解为maven给pom文件增加了一个onchange的事件。

2. pom文件的配置内容

2.1 modelverson

声明模块的版本

2.2 当前项目的资源坐标

给maven查看,并便于maven查找到该项目给其他项目使用

2.3 配置第三方的资源坐标

让maven根据坐标从本地仓库中引入第三方的资源到项目中使用,如果

本地仓库中没有,则会自动从云仓库中下载。

注意1:

我们可以在https://mvnrepository.com/下来搜索需要的资源坐标,然后当我们将资源坐标变更后,需要点击import changes让maven重新加载pom文件,根据最新的资源坐标获取资源到项目中

3048efbd786cf2bd48df8d99cf22aeba.png

注意2:

maven将资源引入到项目中后,在idea的项目视图中是看不到第三方资源的,需要点击idea右侧栏上的maven,进入maven的资源管理视图中,查看当前项目中引入的第三方的资源。

1125ba89863f51b8121f1c42b278afbf.png

2.4 properties自定义资源版本号管理

一个第三方资源会有很多的版本,比如mybatis,spring等如果我们需要引入的第三方资源过多,当我们对某一个资源的版本号进行修改时,不好修改。可以使用properties标签将资源的版本号单独 的声明在外部,便于我们的修改。

76424905aaae329201b01772ef04caae.png

2.5 引入第三方的插件资源

6be732ad02da7db86b76b70cab6fb197.png

3. jar类型和war类型配置示例

3.1 jar类型的配置示例

<?xml version="1.0" encoding="UTF-8"?>

3.2 war类型的配置示例

问题:

在以前的JAVAEE项目中,IDE工具会自动的将JDK以及tomcat的资源依赖到项目中,我们在web-inf下的lib文件夹下声明的是自定义的第三方资源,而maven中的war类型项目中默认是没有给我们引入任何第三方资源的,造成我们在war类型项目中无法直接创建jsp和声明Servlet完成最基本的web开发。

解决:

在war类型的项目的pom文件中配置最基础的web开发相关的第三方的资源坐标:

  • servlet的资源坐标
  • jsp的资源坐标
  • jstl的资源坐标

配置示例:

<?xml version="1.0" encoding="UTF-8"?>

七、Maven的war类型项目的本地启动运行

1. 问题

以前我们使用idea工具直接创建javaEE项目,而idea在帮我们创建javaEE项目的时候就已经指定了项目运行所需要的tomcat,我们直接启动tomcat访问项目即可。但是使用maven创建的war类型的项目,在创建的时候并没有指明项目运行所需要的tomcat,那么maven的war类型项目,在功能开发完成后如何启动运行呢?

2. 解决

maven的项目中涉及到的资源需要maven来进行管理。war类型的项目在开发完成后,需要告诉maven去调用一个tomcat来运行我们当前的war项目,而maven的资源都是从本地仓库中加载或者从云仓库中下载,那么能不能我们自己在war类型项目中告诉maven去下载一个tomcat,来运行我们的war项目呢?答案是可以的。

3. 实现

3.1 在war类型项目的pom文件中配置tomcat插件的资源坐标,并配置tomcat的端口号以及项目的访问路径

<build>
  

3.2 通过maven启动当前war项目的tomcat容器,运行项目

62175ffaa3fbdd683285aaa115e0da9a.png

八、使用Maven完成对用户信息的增删改查功能

1. 功能需求

用户访问用户信息管理页面,在管理页面中显示所有的用户信息,并可以对用户信息进行增加,删除,修改操作。

2. 功能分析

  1. 用户管理页面创建
  2. 用户信息的查询
  3. 用户信息的删除
  4. 用户信息的增加
  5. 用户信息的修改

3. 功能实现

3.1 数据库设计

用户信息表:

  • 用户Id
  • 用户名
  • 用户性别
  • 手机号
##

3.2 项目开发环境的搭建

3.2.1 使用Maven创建war项目

3.2.2 配置项目的java和resources目录

26048841f44148f9416d50248f1812df.png

3.2.3 配置项目的pom.xml文件声明资源依赖(导包)

<?xml version="1.0" encoding="UTF-8"?>

3.3.4 在java源码目录下创建MVC的包结构

ea20d591e0665a2794d106e95ff67edd.png

3.2.5 在pojo包中声明User实体类

package 

3.2.6 在mapper层将User表的增删该查功能实现

package 

3.2.7 在resources下创建并配置mybatis.xml文件

<?xml version="1.0" encoding="UTF-8" ?>

3.3 创建用户管理页面

要求:

在页面加载成功后就要显示所有的用户信息

实现:

使用ajax技术来实现,在页面加载成功后,发起ajax请求,请求所有的用户信息。

代码示例:

<%--
  Created by IntelliJ IDEA.
  User: zyp
  Date: 2020/5/6
  Time: 17:14
  To change this template use File | Settings | File Templates.
--%>

3.4.查询所有用户信息后台功能实现

UserServlet的创建和实现

package 

UserService接口的创建和实现

package 

UserServiceImpl的创建和实现

package 

3.5 删除用户信息功能实现

删除功能需求:

用户点击行的删除按钮,发起删除请求,将当前的行数据删除。并在当前页面中显示删除成功提示语,并重新加载用户资源。

功能实现:

① 页面功能实现:

因为点击删除后,要在当前页面中显示删除结果的提示语。所以采用ajax 技术实现。

  • 请求地址:/userDelServlet
  • 请求数据:uid
  • 响应数据:“true”|“false”

② 后台功能实现:

根据用户ID删除用户信息

3.6 更新用户信息功能实现

更新功能需求:

用户点击更新按钮,弹出更新页面,并在页面中显示要更新的用户信息。修改完成后,点击更新按钮,在当前页面中提示用户更新结果。并重新加载表格中的内容。

功能实现:

① 更新子窗口以及数据的回显

1) 点击更新按钮,弹出更新的子窗口

技能:window.open

2) 在更新窗口中回显示要更新的数据

② 更新功能实现

3.7 更新用户信息功能实现

增加的功能需求:

用户在页面中点击增加按钮,弹出用户信息增加窗口。并在窗口中输入用户信 息后点击增加完成用户信息的增加。

功能实现:

  1. 创建增加增加并完成增加窗口的效果
  2. 完成用户信息的增加

九、Maven项目java目录下的配置文件不会被编译到项目中

1. 问题

maven的项目,是由maven来进行编译的。maven会将项目编译为以前的javaSE和javaEE的结构来运行。但是maven在编译项目的时候,不会讲java目录下的配置文件编译到项目中。mapper包中除了java代码以外,还有mapper.xml文件,maven是不会将mapper.xml文件被编译到项目中的,造成项目运行失败,怎么办呢?

1b802d32ea260af1529e516abee224c3.png

2. 解决

我们需要告诉maven在编译项目中java代码时,在java目录下除了java代码,还有配置文件,需要将配置文件也编译到项目中使用。我们需要在项目的pom.xml文件中配置相关标签即可

3. 实现

在项目的pom.xml文件的build标签下使用resources子标签来告诉maven需要将源码中的xml文件也进行编译:

<build>

十、使用maven打包自己的项目到本地仓库中

1. 问题

假如我们使用maven在本地同时开发两个项目,分别为项目A和项目B,项目A已经开发完成了。而我们想在项目B中使用项目A的功能,怎么办?

2. 解决

项目B是由Maven进行管理的,项目B中的资源需要通过Maven来获取,而Maven会从本地仓库中加载对应的资源给项目B使用。而本地仓库中是没有项目A的资源。那么能不能让maven讲项目A打包并上传到其自己的本地仓库中一份儿,这样其他的项目就可以通过项目A的资源坐标来获取项目A的资源来 使用了。答案是可以的。

3. 实现

注意:

  • jar类型的项目打成jar包放到maven的本地仓库中
  • war类型的项目打成war包放到maven的本地仓库中

d9a9776f33e41a721307a51096ce6545.png

bea77e80245ed23edeca5610b6c1ab0c.png

>>>学习交流群< < <课件,视频,项目,源码,你想要的这里都有

加群暗号“知乎”

风里雨里,我们等你~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值