java - Apache lang3 有效,但 Apache lang 无效。为什么?
问题描述
我已经使用 starter parent pom 版本 2.0.3 实现了 spring boot 项目。当我尝试使用
import org.apache.commons.lang.StringUtils
它抛出错误导入无法解决。即使我的 m2 文件夹(C:\Users\.m2\repository\org\apache\commons)安装了 lang 包(commons-lang 文件夹)。我也有 commons-lang3 文件夹。如果我将导入更改为
import org.apache.commons.lang3.StringUtils
它工作正常。
我在其他 spring boot 项目中有相同版本的 starter pom,我可以在那里使用 commons.lang。无法确定根本原因。
解决方案
据我所知,spring boot starter parent仅依赖于 commons-lang3 而不是 commons-lang(这是合理的,因为 commons-lang3 是 commons-lang 的更新替代品)。
你的 .m2 目录是否包含 commons-lang 并不重要(可能是由于其他项目依赖它):只要你的项目没有声明对 commons-lang 的(直接或间接)依赖,它就没有类将在您的类路径中。
推荐阅读
- c# - 在 C# 中,当异常出现在希伯来语中时,它反转了 - 如何解决?
- android - 网页浏览。键盘在表单上自动关闭
- python - Django 1.10 Legacy Database - 无法检索对象
- javascript - 基于按钮单击的标记选择
- jasper-reports - 未从第一个坐标填充折线图
- jq - 使用 JQ 在元素名称中直接访问带有冒号/特殊字符的 JSON 元素
- office-js - Excel Javascript API - setSelectedDataAsync 与在线 Excel 中的 R1C1 公式
- mysql - 如果不存在如何插入,如果存在则更新(更新插入)?
- c++ - 使用类似的比较功能时,在 C++ 中为 std:sort 获得不同的结果
- vba - 单击味精框后,它应该将我定向到输入框