程序包不存在,找不到符号,但实际“存在”
编译hudi的releace-0.10.1-rc1分支的时候,出现找不到程序包、找不到符号的错误。直接查找对应类org.apache.directory.api.util.Strings是可以找到的,但重新编译依然出错。
分析:hudi是一个大项目,里面分了不同的model。作为一个大项目,会出现其他model有引入对应的依赖,故能在全局查找类时,能找到对应的类,如本人面对的org.apache.directory.api.util.Strings。但编译时,各个model按自已的pom依赖进行依赖引入和编译,如果某个model中,使用中全局的类org.apache.directory.api.util.Strings,但没有在pom中引入对应的依赖,则会编译失败。
解决方法:直接在编译失败的model的pom中,引入缺失的依赖,然后重新编译即可。
[ERROR] COMPILATION ERROR : [INFO] ------------------------------------------------------------- [ERROR] /D:/IdeaProject/hudi/hudi-common/src/test/java/org/apache/hudi/common/testutils/FileCreateUtils.java:[22,37] 程序包org.apache.directory.api.util不存在 [ERROR] /D:/IdeaProject/hudi/hudi-common/src/test/java/org/apache/hudi/common/testutils/FileCreateUtils.java:[224,85] 找不到符号 符号: 变量 Strings 位置: 类 org.apache.hudi.common.testutils.FileCreateUtils [ERROR] /D:/IdeaProject/hudi/hudi-common/src/test/java/org/apache/hudi/common/testutils/FileCreateUtils.java:[232,95] 找不到符号 符号: 变量 Strings 位置: 类 org.apache.hudi.common.testutils.FileCreateUtils [ERROR] /D:/IdeaProject/hudi/hudi-common/src/test/java/org/apache/hudi/common/testutils/FileCreateUtils.java:[240,94] 找不到符号 符号: 变量 Strings 位置: 类 org.apache.hudi.common.testutils.FileCreateUtils [ERROR] /D:/IdeaProject/hudi/hudi-common/src/test/java/org/apache/hudi/common/testutils/FileCreateUtils.java:[252,88] 找不到符号