从GitHub克隆Maven源码后部分类文件缺失问题的原因及解决方法
解决克隆Maven源码后类文件缺失、未编译的问题
哈哈,这个坑我当初研究Maven源码时也踩过!直接从GitHub克隆源码后就急着看代码,结果发现一堆类找不到,好多Java文件也没编译,折腾了好几天才搞明白原因。
问题根源
Maven的源码仓库里并不是所有类都是直接提交的,有一部分是构建过程中自动生成的(比如模块适配类、配置相关的自动生成代码)。如果跳过构建直接看源码,这些生成类自然就不存在,IDE里就会报引用错误。
快速解决办法
执行官方的构建命令,让Maven自动生成缺失的类并完成编译:
mvn -DdistributionTargetDir="$HOME/app/maven/apache-maven-4.0.x-SNAPSHOT" clean package
这个命令会先清理之前的构建残留,然后执行完整的打包流程,同时指定了构建后Maven发行版的输出目录。等构建完成后,那些缺失的类就会出现在对应的target目录下,IDE也能正常识别所有引用了。
小提醒
以后克隆这类大型项目的源码,一定要先看仓库首页下方的快速启动提示,里面会明确写清楚前置的构建步骤,能少走很多弯路!
内容的提问来源于stack exchange,提问作者sinor
相关产品推荐
相关产品推荐

