迁移到Java 8时无法解析导入org.apache.commons

时间:2018-08-31 11:38:42

标签: java tomcat

我们正在将maven项目以及兼容的tomcat升级到Java 8。 现在正在编译该代码,但出现以下错误:-

    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中运行良好。我们检查了WEB-INF/lib中是否包含所有jar。似乎没有一个apache-commons罐子被识别(不确定什么是正确的术语)。

只需检查一下,我就将apache-commons个罐子移到了tomcat/lib(显然从来没有一个解决方案),但是仍然是同样的错误。

这是我们正在使用的Java和tomcat:-

OpenJDK Runtime Environment (build 1.8.0_161-b14)

apache-tomcat-8.5.32

1 个答案:

答案 0 :(得分:0)

您需要更新项目的POM.xml文件,以包括所使用的Apache Commons库的依赖项。如果正确执行,则JAR将从Maven Central下载到您的〜/ .m2本地存储库中,并由Maven添加到编译时构建路径中。然后,当Maven为您的项目创建WAR文件时,它将在WAR文件中的适当位置包含JAR,以便部署到Tomcat。

我建议您对Maven,POM文件以及Maven如何处理依赖项进行一些阅读。正式的"Maven Getting Started Guide"将是一个很好的起点。

目前尚不清楚如何在没有适当依赖项的情况下如何使您的项目先前在Maven下构建。我猜您以前没有使用过Maven。也许有人曾经使用IDE进行手工构建,却完全忽略了Maven和POM文件。