我们正在将我们的 maven 项目升级到 java 8 以及兼容的 tomcat。 现在正在编译代码,但出现以下错误:-
Caused by: java.lang.Error: Unresolved compilation problems:
The import org.apache.commons cannot be resolved
The import org.apache.commons cannot be resolved
The import org.apache.commons cannot be resolved
但是它在 Java 6 和 Tomcat 7 中运行良好。我们已经检查过所有 jar 都包含在 WEB-INF/lib
中。似乎没有一个 apache-commons
jar 得到认可(不确定什么是正确的术语)。
只是为了检查我将 apache-commons
jar 移到了 tomcat/lib
(显然这不是解决方案),但仍然是同样的错误。
这是我们使用的 Java 和 tomcat :-
OpenJDK 运行时环境(build 1.8.0_161-b14)
apache-tomcat-8.5.32
最佳答案
您需要更新项目的 POM.xml 文件以包含您正在使用的 Apache Commons 库的依赖项。如果操作正确,JAR 将从 Maven Central 下载到您的 ~/.m2 本地存储库,并由 Maven 添加到编译时构建路径。然后,当 Maven 为您的项目创建 WAR 文件时,它会将 JAR 包含在 WAR 文件中的适当位置……准备好部署到您的 Tomcat。
我建议您阅读有关 Maven、POM 文件以及 Maven 如何处理依赖项的内容。官方"Maven Getting Started Guide"将是一个很好的起点。
目前还不清楚您之前是如何在没有适当依赖项的情况下在 Maven 下构建项目的。我猜你以前没有使用过 Maven。或者可能有人一直在使用 IDE 手动构建并完全忽略 Maven 和 POM 文件。
关于java - 迁移到 Java 8 时无法解析 import org.apache.commons,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52114669/