11Maven - 依赖管理(整合Struts2案例)

简介: 11Maven - 依赖管理(整合Struts2案例)

本文实现web工程整合struts2框架为案例

添加依赖

dependency

在pom.xml 中添加dependency标签,如下:

查找坐标

添加依赖需要指定依赖jar包的坐标,但是很多情况下我们是不知道jar包的坐标,可以通过如下方式查询:

网站搜索示例:



  • 方法二:使用maven插件的索引功能
    如果在本地仓库有我们要的jar包,可以在pom.xml中邮件添加依赖

构建web工程

编写web工程的pom.xml,添加依赖,如下:

依赖范围

1.基本概念

A依赖B,需要在A的pom.xml文件添加B的坐标,添加坐标是需要指定依赖范围,依赖范围包括:

  • compile: 编译范围,指A在编译时依赖B,此范围默认为依赖范围。编译范围的依赖会用在编译、测试、运行、由于运行时需要所以编译范围的依赖会被打包。
  • provided:provided依赖只有在当JDK或者一个容器已提供改依赖之后才使用,provided依赖在编译和测试时需要,在运行时不需要,比如servlet api被tomcat容器提供。
  • runtime: runtime依赖在运行和测试系统的时候需要,但在编译的时候不需要。比如:jdbc的驱动包。由于运行时需要所以runtime范围的依赖会被打包。
  • test:test范围依赖在编译和运行时都不需要,它们只有在测试编译和测试运行阶段可用,比如:junit。由于运行时不需要,所以test范围依赖不会打包。
  • system:system范围依赖于provided 类似, 但是你必须显示的提供一个对于本地系统中JAR文件的路径,需要指定systemPath磁盘路径,system依赖不推荐使用。

  • 在maven-web工程中测试各个scop。

测试总结:

  • 默认引入的jar包 —— compile【默认范围 可以不写】(编译、测试、运行都有效)
  • servlet-api、jsp-api —— provided(编译、测试有效,运行时无效防止和tomcat下jar冲突)
  • jadb驱动jar包 —— runtime(测试、运行有效)
  • junit —— test(测试有效)

依赖范围由强到弱的顺序是:compile > provided > runtime > test

2.测试
  1. 向web工程添加jsp/servlet依赖
  2. 向工程添加jdbc依赖

完整的pom.xml

action类

struts.xml

在src/main/resources 创建struts.xml

web.xml

在web.xml中配置struts2的前端控制器

目录
相关文章
|
15天前
|
缓存 Java Maven
【简单四步教你解决♥十分有效】Maven依赖报错、依赖或插件导入失败的万能解决办法
【简单四步教你解决♥十分有效】Maven依赖报错、依赖或插件导入失败的万能解决办法!在处理Maven项目问题时,首先检查Maven配置是否正确。接着通过“File--Invalidata Caches”清除IDEA缓存并重启。使用Maven命令`mvn dependency:purge-local-repository`和`mvn dependency:resolve`清除本地依赖缓存。最后,在Terminal中输入`mvn clean install`完成构建。
【简单四步教你解决♥十分有效】Maven依赖报错、依赖或插件导入失败的万能解决办法
|
5月前
|
Java Maven 容器
java依赖冲突解决问题之Maven在编译打包过程中对依赖的jar包如何解决
java依赖冲突解决问题之Maven在编译打包过程中对依赖的jar包如何解决
|
2月前
|
Java Maven
maven打瘦包,且只打入部分想打入的依赖瘦包
maven打瘦包,且只打入部分想打入的依赖瘦包 设计 工程结构分析 环境管理 城市资源 安全工程 工程管理
68 10
|
3月前
|
Java API Apache
除了 Maven,还有哪些工具可以管理项目的依赖和版本冲突
除了Maven,常用的项目依赖管理和版本冲突解决工具有Gradle、Ivy、Ant+Ivy、SBT等。这些工具各有特点,适用于不同的开发环境和需求。
226 2
|
3月前
|
XML 安全 Java
【Maven】依赖管理,Maven仓库,Maven核心功能
【Maven】依赖管理,Maven仓库,Maven核心功能
782 3
|
3月前
|
Java Maven
Maven 依赖管理
Maven 一个核心的特性就是依赖管理。当我们处理多模块的项目(包含成百上千个模块或者子项目),模块间的依赖关系就变得非常复杂,管理也变得很困难。针对此种情形,Maven 提供了一种高度控制的方法。
146 5
|
4月前
|
Java Maven
Maven 引入外部依赖
如果我们需要引入第三方库文件到项目,该怎么操作呢?
59 5
|
5月前
|
安全 Java Maven
优化Maven镜像配置:使用阿里云加速依赖下载
更新Maven镜像配置至关重要,尤其使用阿里云仓库时。在`settings.xml`中加入特定镜像配置可显著提升依赖下载速度。示例配置指定了阿里云镜像ID、替代表态仓库、安全的URL、默认布局及启用版本管理。需定位至用户目录下的`.m2/`文件夹编辑`settings.xml`,添加镜像信息后保存测试。若下载仍慢,考虑网络状况或备选镜像。多镜像设置时需注意避免冲突。
823 3
|
5月前
|
Java 测试技术 Maven
单元测试问题之在Maven项目中引入JUnit 5和Mockito的依赖如何解决
单元测试问题之在Maven项目中引入JUnit 5和Mockito的依赖如何解决
303 1
|
5月前
|
Java Maven 开发者
"揭秘IDEA的神奇助手:Maven Helper插件,让你轻松驾驭复杂依赖,告别冲突噩梦!"
【8月更文挑战第20天】Maven Helper是一款提升Java开发者工作效率的IDEA插件,它能直观展示项目依赖关系并协助管理。主要功能包括依赖树视图、冲突检测与解决及依赖排除。安装简便,重启IDEA后即用。借助其“Dependencies”面板,开发者可以清晰了解依赖详情,快速定位并解决冲突问题,有效优化项目结构,提升开发效率。
326 0