Java类无法导入metadata-extractor类文件问题求助
看起来你遇到了Maven依赖明明在库中显示,但代码就是识别不了类的问题,我之前也碰到过类似情况,给你几个排查方向试试:
补全javaxt-core的版本号
你贴的依赖里javaxt-core的<version>是省略号,这会导致Maven无法正确拉取依赖。建议填写一个稳定版本,比如1.9.0(这是比较常用的版本),完整依赖应该是:<dependency> <groupId>javaxt</groupId> <artifactId>javaxt-core</artifactId> <version>1.9.0</version> </dependency>强制刷新Maven依赖
有时候IDE缓存会导致依赖没被正确加载,试试这两步:- 命令行执行
mvn clean install -U,强制更新快照和依赖 - 在IDE(比如IntelliJ IDEA)里点击Maven面板的「Reload All Maven Projects」按钮,刷新依赖
- 命令行执行
检查本地Maven仓库的jar包完整性
去你的本地Maven仓库路径(默认是~/.m2/repository),找到com/drewnoakes/metadata-extractor/2.11.0目录,看看里面的metadata-extractor-2.11.0.jar是否存在且大小正常。如果jar包损坏或缺失,直接删除这个目录,再重新执行mvn install拉取依赖。验证IDE模块依赖配置
打开IDE的项目结构设置(比如IDEA的File -> Project Structure -> Modules -> Dependencies),确认metadata-extractor和javaxt-core这两个依赖已经被正确添加,没有标红或显示未找到的状态。如果没添加,手动点击「+」选择「Library」添加对应的Maven依赖。检查代码导入路径是否正确
提取GPS地理位置的核心类是com.drewnoakes.metadataextractor.metadata.exif.GpsDirectory,确认你代码里的导包语句是正确的,有没有写错类名或包名(比如注意是metadataextractor而不是带横杠的metadata-extractor)。排查依赖冲突
执行mvn dependency:tree命令查看项目的依赖树,看看有没有其他依赖和metadata-extractor存在版本冲突。如果发现冲突,可以在依赖里添加<exclusions>排除冲突的依赖项。
内容的提问来源于stack exchange,提问作者Chandra

