我已经用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。 无法确定根本原因。
答案 0 :(得分:3)
据我所知the spring boot starter parent仅取决于commons-lang3,而不取决于commons-lang(这是合理的,因为commons-lang3是commons-lang的较新替代品)。
您的.m2目录是否包含commons-lang无关紧要(可能是由于其他项目而定):只要您的项目没有声明(直接或间接) )对commons-lang的依赖,它的所有类都不会放在您的类路径中。
答案 1 :(得分:1)
在您的“其他”项目上调用 <tr>
<td><%= crud.id %></td>
<td><%= crud.name %></td>
<td><%= crud.email %></td>
<td><%= crud.phone %></td>
<td><%= crud.address %></td>
</tr>
<% }); %>
。在这里,您可以看到绘制commons-lang的路径。 Joachim Sauer可能是对的,它是一种传递依赖,您开始像直接引用一样使用它。
最佳解决方案是开始在您的项目中使用commons-lang3(同样,Joachim Sauer就在此处),第二个最佳解决方案是将commons-lang声明为 <% if (_.isEmpty(cruds)){ %>
中的直接依赖项。 / p>