Java Maven未能在jenkins解析POM

Java Maven未能在jenkins解析POM,java,maven,jenkins,Java,Maven,Jenkins,我有一个简单的maven项目,包含一些常见的测试工具。 它在本地构建,但在jenkins上我得到了这个奇怪的错误(见下文) 其他资料: 它使用maven在本地构建 设置与所有其他jenkins项目相同(非常基本) 其他詹金斯的工作还不错 我试图删除/root/.jenkins/workspace/testtools文件夹 我尝试删除构建并给它一个新名称 磁盘未满 我在别处找不到任何关于这个具体问题的有用信息 ** 解析pom 错误:无法分析POM hudson.maven.MavenEmbe

我有一个简单的maven项目,包含一些常见的测试工具。 它在本地构建,但在jenkins上我得到了这个奇怪的错误(见下文)

其他资料:

  • 它使用maven在本地构建
  • 设置与所有其他jenkins项目相同(非常基本)
  • 其他詹金斯的工作还不错
  • 我试图删除/root/.jenkins/workspace/testtools文件夹
  • 我尝试删除构建并给它一个新名称
  • 磁盘未满
  • 我在别处找不到任何关于这个具体问题的有用信息
**

解析pom
错误:无法分析POM
hudson.maven.MavenEmbedderException:构建有效设置时遇到1个问题
[致命]不可读设置/root/.jenkins/workspace/testtools:/root/.jenkins/workspace/testtools(是一个目录)@/root/.jenkins/workspace/testtools**
在hudson.maven.MavenEmbedder。(MavenEmbedder.java:128)
在hudson.maven.MavenEmbedder。(MavenEmbedder.java:109)
在hudson.maven.MavenEmbedder。(MavenEmbedder.java:136)
位于hudson.maven.MavenUtil.createEmbedder(MavenUtil.java:212)
位于hudson.maven.MavenModuleSetBuild$PomParser.invoke(MavenModuleSetBuild.java:1254)
位于hudson.maven.MavenModuleSetBuild$PomParser.invoke(MavenModuleSetBuild.java:1058)
在hudson.FilePath.act(FilePath.java:909)
位于hudson.FilePath.act(FilePath.java:882)
位于hudson.maven.MavenModuleSetBuild$MavenModuleSetBuildExecution.parsePoms(MavenModuleSetBuild.java:920)
位于hudson.maven.MavenModuleSetBuild$MavenModuleSetBuildExecution.doRun(MavenModuleSetBuild.java:652)
位于hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:586)
在hudson.model.Run.execute(Run.java:1603)
在hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:506)
在hudson.model.ResourceController.execute(ResourceController.java:88)
运行(Executor.java:247)
原因:hudson.maven.MavenEmbedderException:生成有效设置时遇到1个问题
[致命]不可读设置/root/.jenkins/workspace/testtools:/root/.jenkins/workspace/testtools(是一个目录)@/root/.jenkins/workspace/testtools
位于hudson.maven.MavenEmbedder.getSettings(MavenEmbedder.java:261)
位于hudson.maven.MavenEmbedder.buildMavenExecutionRequest(MavenEmbedder.java:157)
在hudson.maven.MavenEmbedder。(MavenEmbedder.java:120)
... 14多
原因:org.apache.maven.settings.building.SettingsBuildingException:生成有效设置时遇到1个问题
[致命]不可读设置/root/.jenkins/workspace/testtools:/root/.jenkins/workspace/testtools(是一个目录)@/root/.jenkins/workspace/testtools
位于org.apache.maven.settings.building.DefaultSettingsBuilder.build(DefaultSettingsBuilder.java:116)
位于hudson.maven.MavenEmbedder.getSettings(MavenEmbedder.java:259)
... 还有16个
完成:失败

Maven尝试将
/root/.jenkins/workspace/testtools
作为其用户设置文件读取(通常在
/root/.m2/settings.xml
下)。因为这是一个目录,所以无法读取


Build->Advanced…->设置文件
您似乎在文件系统中选择了设置,但没有任何值。将此更改为“使用默认maven设置”,您就可以了。

在更改构建名称并包含空格字符后,我遇到了问题。“execute shell”使用了$WORKSPACE变量,但由于空间原因,该变量无法工作。

如果项目配置中未使用pom.xml的完全限定路径名,则可能会触发此错误,例如
C:\Users\user1\workspace\WebdriverTest
不是完全合格的。这是一个是:
C:\Users\user1\workspace\WebdriverTest\pom.xml

请注意
\pom.xml

我们遇到的这个问题是由Jenkins Maven插件中的错误引起的。更新到2.15.1以上的版本为我们解决了这个问题。

在Jenkins下签入项目配置

Build -> Advanced... -> settings 

这里将一切设置为默认值,您可以开始了

您可以检查是否有权限读取设置文件/访问目录等吗?不要让您的jenkins在root下运行,最好使用不同的用户,例如
jenkins
;-)。。。Jenkins以root用户身份运行,因此应该可以访问这些文件。-是的,我同意jenkins不应该以root身份运行,我们会解决这个问题,但这不会影响我当前的问题。非常感谢。这纯粹是新手犯的错误。我们的Jenkins配置了“.”作为默认设置提供程序的值。在这里修复它可以消除任何新项目的错误。
Build -> Advanced... -> settings