IntelliJ IDEA 2018.3中Maven项目Java包加载失败及构建问题求助
从你贴的Maven构建日志来看,核心问题是你的机器无法连接到Maven中央仓库(repo.maven.apache.org),日志里明确提示"No such host is known"——连最基础的maven-clean-plugin都下载失败,自然Kafka相关的依赖包也无法获取,最终才会出现package org.apache.kafka.clients.producer does not exist这类编译错误。
下面是一步步的解决方案:
先排查网络连接
先打开终端/命令行,执行ping repo.maven.apache.org,如果ping不通,说明是网络层面的问题:- 如果你在公司内网,大概率需要配置代理才能访问外网仓库;
- 个人网络的话,检查防火墙、VPN是不是限制了访问,或者切换成手机热点试试,排除本地网络故障。
配置Maven代理(如果需要)
找到你的Maven配置文件settings.xml——通常在用户目录下的.m2/settings.xml,或者Maven安装目录的conf/settings.xml(如果没有就新建一个),添加代理配置:<settings> <proxies> <proxy> <id>company-proxy</id> <active>true</active> <protocol>http</protocol> <host>你的代理地址</host> <port>代理端口</port> <!-- 如果代理需要账号密码,就加上下面两行 --> <!-- <username>代理账号</username> --> <!-- <password>代理密码</password> --> <nonProxyHosts>localhost|*.yourcompany.com</nonProxyHosts> </proxy> </proxies> </settings>替换成你实际的代理信息后保存,再重新运行Maven构建。
清理本地仓库缓存并强制更新
有时候本地Maven仓库的缓存文件损坏也会导致依赖下载失败,你可以手动删除~/.m2/repository/org/apache/maven/plugins/maven-clean-plugin这个目录,然后执行:mvn clean install -U-U参数会强制Maven刷新所有依赖和插件的缓存,重新从仓库下载。统一Kafka依赖版本(可选但建议)
注意到你的pom.xml里,<kafka.version>配置的是2.1.0,但kafka-clients和kafka-streams的版本却是2.0.0,版本不一致可能带来潜在的兼容性问题,建议统一成同一个版本:<properties> <java.version>1.8</java.version> <kafka.version>2.1.0</kafka.version> </properties> <dependencies> <!-- Apache Kafka Clients--> <dependency> <groupId>org.apache.kafka</groupId> <artifactId>kafka-clients</artifactId> <version>${kafka.version}</version> </dependency> <!-- Apache Kafka Streams--> <dependency> <groupId>org.apache.kafka</groupId> <artifactId>kafka-streams</artifactId> <version>${kafka.version}</version> </dependency> </dependencies>
先解决网络/代理问题,确保Maven能正常访问中央仓库,这是解决所有依赖下载问题的前提,之后再执行清理和构建操作,应该就能解决你的问题了。
内容的提问来源于stack exchange,提问作者Muhammad Faizan Khan

