Apache Camel Cookbook示例构建失败求助:缺失指定POM文件
解决Apache Camel Cookbook示例构建时的SNAPSHOT插件缺失问题
确实有不少开发者在构建这个Cookbook的示例时遇到过同样的问题,原因很直接:2.20.0-SNAPSHOT是一个开发中的快照版本,这类版本不会长期保留在Maven中央仓库或者Apache的快照仓库里,尤其是像2.20.x这种已经停止维护多年的老版本分支,对应的快照早就被清理了。
给你几个可行的解决方向:
替换为对应稳定版本:这是最省心的方案。2.20系列的最后一个稳定发布版本是2.20.4,你可以把项目pom.xml里所有
2.20.0-SNAPSHOT的引用替换成2.20.4,包括camel-maven-plugin的版本。稳定版本在Maven中央仓库一直都能获取到,不会出现缺失的问题。本地构建安装快照版本:如果你因为某些原因必须使用2.20.0-SNAPSHOT,可以自己从Apache Camel的源码仓库构建并安装到本地Maven仓库:
# 克隆Camel源码仓库 git clone https://github.com/apache/camel.git cd camel # 切换到2.20.x分支 git checkout camel-2.20.x # 本地构建安装,跳过测试节省时间 mvn clean install -DskipTests构建完成后,你的本地Maven仓库就会有这个快照版本的插件POM和jar包,构建示例项目时就不会报错了。
检查Maven快照仓库配置(不推荐):虽然大概率没用,但你可以试试在Maven的settings.xml里添加Apache快照仓库的配置,看看能不能拉取到(不过这个版本太老,很大概率仓库里已经没有了):
<repository> <id>apache-snapshots</id> <url>https://repository.apache.org/content/repositories/snapshots/</url> <releases> <enabled>false</enabled> </releases> <snapshots> <enabled>true</enabled> <updatePolicy>daily</updatePolicy> </snapshots> </repository>
总的来说,优先推荐替换成稳定版本,快照版本本身就不适合用于长期的项目构建,尤其是这类老旧的快照,维护和获取成本都很高。
内容的提问来源于stack exchange,提问作者Dave Posner
相关产品推荐
相关产品推荐

