当前位置: 首页 > news >正文

Cannot resolve plugin org.apache.maven.plugins:maven-site-plugin:3.1.0

IDEA上构建scala版本的Flink项目,使用maven编译打包,报如下错误:
Cannot resolve plugin org.apache.maven.plugins:maven-site-plugin:3.1.0

出现这类错误,通常是因为 Maven 无法从配置的仓库中获取到指定版本的 maven-site-plugin,可能是仓库配置缺失、版本兼容性问题或网络问题导致。以下是具体解决步骤:

1. 检查 Maven 仓库配置(核心原因)

maven-site-plugin 属于 Maven 官方插件,默认应从 Maven 中央仓库获取。首先确认项目的 pom.xml 或 Maven 全局配置(settings.xml)中包含中央仓库:

步骤1.1:检查项目 pom.xml 中的仓库配置

pom.xml<repositories> 标签中,确保添加了 Maven 中央仓库(若缺失则补充):

<repositories><!-- Maven 中央仓库,用于获取官方插件和依赖 --><repository><id>central</id><name>Maven Central Repository</name><url>https://repo1.maven.org/maven2</url><releases><enabled>true</enabled></releases></repository><!-- Flink 官方仓库(Scala 项目需额外配置,避免依赖缺失) --><repository><id>apache.snapshots</id><name>Apache Development Snapshot Repository</name><url>https://repository.apache.org/content/repositories/snapshots/</url><releases><enabled>false</enabled></releases><snapshots><enabled>true</enabled></snapshots></repository>
</repositories><!-- 插件仓库(确保插件能从中央仓库获取) -->
<pluginRepositories><pluginRepository><id>central</id><name>Maven Central Repository</name><url>https://repo1.maven.org/maven2</url><releases><enabled>true</enabled></releases><snapshots><enabled>false</enabled></snapshots></pluginRepository>
</pluginRepositories>

2. 显式指定插件版本(解决版本兼容性)

若默认版本(3.1.0)存在兼容性问题,可在 pom.xml<build> -> <plugins> 中显式指定 更高且稳定的版本(如 3.12.1,Maven 官方推荐版本),覆盖默认版本:

<build><plugins><!-- 其他插件(如 Scala 编译插件、Flink 插件) --><plugin><groupId>org.scala-tools</groupId><artifactId>maven-scala-plugin</artifactId><version>2.15.2</version> <!-- Scala 项目必备编译插件 --><executions><execution><goals><goal>compile</goal><goal>testCompile</goal></goals></execution></executions></plugin><!-- 显式配置 maven-site-plugin,指定稳定版本 --><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-site-plugin</artifactId><!-- 推荐使用 3.12.1(兼容 Maven 3.6+,避免旧版本依赖缺失) --><version>3.12.1</version></plugin></plugins>
</build>

3. 清理 Maven 缓存并重新加载(解决本地缓存损坏)

若本地 Maven 仓库中该插件的缓存文件损坏,会导致无法解析,需清理缓存并重新下载:

步骤3.1:清理 IDEA 中的 Maven 缓存
  1. 打开 IDEA,点击右侧 Maven 面板(若未显示,可通过 View -> Tool Windows -> Maven 调出);
  2. 在 Maven 面板中,点击 刷新按钮(🔄)旁的下拉菜单,选择 Clean(清理项目编译产物);
  3. 再选择 Invalidate Caches…(IDEA 顶部菜单栏 File -> Invalidate Caches...),勾选 Clear file system cache and local history,点击 Invalidate and Restart 重启 IDEA。
步骤3.2:手动删除本地仓库中的插件缓存
  1. 找到本地 Maven 仓库路径(默认是 C:\Users\你的用户名\.m2\repository 或 Linux/macOS 的 ~/.m2/repository);
  2. 进入路径 org/apache/maven/plugins/maven-site-plugin/,删除所有以 3.1.0 或其他版本命名的文件夹;
  3. 回到 IDEA,右键点击项目 -> Maven -> Reimport,重新下载插件。

4. 检查网络与代理(解决网络访问问题)

若处于公司内网或使用代理,可能会屏蔽 Maven 中央仓库的访问:

  1. 确认网络可正常访问 https://repo1.maven.org/maven2(可通过浏览器打开链接测试);
  2. 若使用代理,需在 Maven 全局配置文件 settings.xml(路径:Maven安装目录/conf/settings.xml~/.m2/settings.xml)中配置代理:
    <proxies><proxy><id>example-proxy</id><active>true</active><protocol>http</protocol><host>代理服务器地址</host><port>代理端口</port><!-- 若代理需要认证,补充以下配置 --><username>代理用户名</username><password>代理密码</password><nonProxyHosts>localhost|127.0.0.1</nonProxyHosts></proxy>
    </proxies>
    

5. 验证 Flink 与 Scala 版本兼容性(避免间接依赖冲突)

Scala 版本的 Flink 项目对依赖版本敏感,需确保 Flink 版本与 Scala 版本匹配(如 Flink 1.17 对应 Scala 2.12/2.13),且 pom.xml 中 Flink 依赖的 scope 配置正确(避免 provided 范围导致编译期依赖缺失):

<dependencies><!-- Flink Scala API 依赖(需与 Scala 版本匹配,如 2.12) --><dependency><groupId>org.apache.flink</groupId><artifactId>flink-scala_2.12</artifactId><version>1.17.0</version> <!-- 选择稳定的 Flink 版本 --><!-- 编译期依赖,打包时排除(Flink 集群已提供) --><scope>provided</scope></dependency><!-- Flink 流处理依赖 --><dependency><groupId>org.apache.flink</groupId><artifactId>flink-streaming-scala_2.12</artifactId><version>1.17.0</version><scope>provided</scope></dependency>
</dependencies>

解决流程总结

  1. 优先补充 Maven 中央仓库和插件仓库配置;
  2. 显式指定 maven-site-plugin 的稳定版本(如 3.12.1);
  3. 清理缓存并重新加载 Maven 项目;
  4. 检查网络/代理,确保仓库可访问;
  5. 验证 Flink 与 Scala 版本兼容性。

完成以上步骤后,再次执行 mvn clean package 即可正常编译打包 Scala 版本的 Flink 项目。


文章转载自:

http://1eAaNygE.zbtfz.cn
http://0SkEHEI8.zbtfz.cn
http://5ERvAKzy.zbtfz.cn
http://bvWu7n6w.zbtfz.cn
http://xSuhIC1q.zbtfz.cn
http://3VTo8LOR.zbtfz.cn
http://B8apDasY.zbtfz.cn
http://AZcQbBPl.zbtfz.cn
http://jPX3dVic.zbtfz.cn
http://k78tA6FA.zbtfz.cn
http://JRmlIA7p.zbtfz.cn
http://DxDp3w8n.zbtfz.cn
http://JrImaycj.zbtfz.cn
http://HkgNAFIW.zbtfz.cn
http://iCWjzFjO.zbtfz.cn
http://nZhJcOiD.zbtfz.cn
http://YBcQMK5B.zbtfz.cn
http://pyIavuZU.zbtfz.cn
http://v8L2eCZc.zbtfz.cn
http://S7wkhS5n.zbtfz.cn
http://bNvbWk0m.zbtfz.cn
http://p9vyUQGc.zbtfz.cn
http://PPsJQMnr.zbtfz.cn
http://KUOKGbiL.zbtfz.cn
http://YUAWhyLc.zbtfz.cn
http://g5M5SHey.zbtfz.cn
http://xTcBopxV.zbtfz.cn
http://N8RXRbkR.zbtfz.cn
http://oEWvwDu0.zbtfz.cn
http://ZLt0hAVW.zbtfz.cn
http://www.dtcms.com/a/372017.html

相关文章:

  • 备战 2025 软考系统架构师
  • RabbitMQ 重试机制 和 TTL
  • 人工智能竞赛提高mAP的方法
  • 深度学习——残差神经网络案例
  • LeetCode 刷题【68. 文本左右对齐】
  • Day23_【机器学习—集成学习(5)—Boosting—XGBoost算法】
  • 基于飞算JavaAI的在线图书借阅平台设计与实现(深度实践版)
  • fps:AI系统
  • 强化学习入门:从零开始实现Dueling DQN
  • 做事总是三分钟热度怎么办
  • 图像形态学
  • C++运算符重载——函数调用运算符 ()
  • 分布式系统——分布式数据库的高扩展性保证
  • C++ 并发编程:异步任务
  • 四、神经网络的学习(中)
  • OPENPPP2 —— IP标准校验和算法深度剖析:从原理到SSE2优化实现
  • 梅花易数:从入门到精通
  • 计算机⽹络及TCP⽹络应⽤程序开发
  • 单点登录1(SSO知识点)
  • 嵌入式学习---(ARM)
  • 嵌入式学习day44-硬件—ARM体系架构
  • 《数据结构全解析:栈(数组实现)》
  • Linux系统资源监控脚本
  • PHP中各种超全局变量使用的过程
  • C++-类型转换
  • [GDOUCTF 2023]doublegame
  • 系统资源监控与邮件告警
  • 1706.03762v7_analysis
  • 云平台面试内容(三)
  • 机器学习之集成学习