首页 > 解决方案 > 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。无法确定根本原因。

标签: javamavenapache-stringutilsapache-commons-langapache-commons-lang3

解决方案


据我所知,spring boot starter parent仅依赖于 commons-lang3 而不是 commons-lang(这是合理的,因为 commons-lang3 是 commons-lang 的更新替代品)。

你的 .m2 目录是否包含 commons-lang 并不重要(可能是由于其他项目依赖它):只要你的项目没有声明对 commons-lang 的(直接或间接)依赖,它就没有类将在您的类路径中。


推荐阅读