maven:无法安装元数据项目无法解析元数据maven-metadata-local.xml:在开始标记之前只允许空白内容

u4vypkhs  于 11个月前  发布在  Maven
关注(0)|答案(5)|浏览(146)

当我试图构建一个刚从SVN下载的项目时,出现了这个错误。
无法执行目标org.apache.maven.plugins:maven-install-plugin:2.4:在项目上安装(default-install):无法安装元数据项目:1.0-SNAPSHOT/maven-metadata.xml:无法解析元数据C:\Users.m2\project\1.0-SNAPSHOT\maven-metadata-local.xml:在开始标记之前只允许空白内容,不允许\u0(位置:START_DOCUMENT看到\u0...@1:1)-> [Help 1]

j8yoct9x

j8yoct9x1#

我只是想在互联网上记录这个错误。没有太多的帮助,或者我没有正确搜索。

答案

转到maven-metadata-local.xml所在的路径。删除项目文件夹沿着和xml并构建项目。
对我很有效!

wa7juj8i

wa7juj8i2#

删除项目文件夹和本地存储库中的maven-metadata-local.xml可以解决eugene-s的回答中提到的问题。
尽管问题中的问题似乎不是由本地maven存储库的并发使用引起的,但是当各种作业使用相同的maven本地存储库系统时,这个问题经常发生在CI环境中。
您可以使用解决方案(由user 2818782提供)始终使用新的存储库,或者您可以开始使用https://github.com/takari/takari-local-repository,它是本地maven存储库的替代品,可以安全地进行并发访问。

busg9geu

busg9geu3#

通过添加

  • ”-Dmaven.repo.local=$WORKSPACE/.repository”*

mvn install命令的参数会强制Maven使用本地私有仓库,而不是中央仓库(~/.m2/repository)。
每个Maven构建都将从一个新的仓库开始,从而避免了此类冲突。然而,这个技巧确实需要注意的是,它现在需要下载所有内容。因此,预计网络流量会大幅增加(如果您使用本地Nexus作为镜像,这不是问题),构建时间会稍微长一些。

k7fdbhmy

k7fdbhmy4#

我们在修改pom.xml以添加一些插件和配置后,在一个项目中遇到了同样的问题。从maven本地仓库缓存中删除项目文件夹解决了这个问题。

tsm1rwdh

tsm1rwdh5#

2023更新

当并发的maven构建写入同一个依赖文件时,似乎会发生这种情况,导致一个额外的XML标记被附加到文件中。
我通过直接编辑文件来修复它,文件的末尾有一个额外的xml标记。

此问题已在最近的Maven版本中得到解决,特别是在1.7.x以上的解析器版本中(可能是3.8.x以后的Maven版本)。

您可以在Maven的本地仓库共享访问文档中找到有关此改进的信息。尽管有此改进,但在我们的CI环境的共享缓存中,问题仍然存在,可能是因为一些项目仍然使用旧版本的Maven来构建他们的项目。

相关问题