Java maven-如何解决此错误:“XXX的POM无效”?

Java maven-如何解决此错误:“XXX的POM无效”?,java,maven,dependencies,jmock,transitive-dependency,Java,Maven,Dependencies,Jmock,Transitive Dependency,我正在和maven建立一个简单的项目。我无法构建它,因为缺少一个可传递的依赖项,即objeness1.0 我在调试模式下运行maven并收到以下消息: [DEBUG] ======================================================================= [WARNING] The POM for org.jmock:jmock-junit4:jar:2.6.0 is invalid, transitive dependencies (if

我正在和maven建立一个简单的项目。我无法构建它,因为缺少一个可传递的依赖项,即objeness1.0

我在调试模式下运行maven并收到以下消息:

[DEBUG] =======================================================================
[WARNING] The POM for org.jmock:jmock-junit4:jar:2.6.0 is invalid, transitive dependencies (if any) will not be available: 1 problem was encountered while building the effective model for org.jmock:jmock-junit4:2.6.0
[ERROR] Invalid packaging for parent POM org.jmock:jmock-parent:2.6.0, must be "pom" but is "jar" @ org.jmock:jmock-parent:2.6.0
...
当我查看jmock父类时,我似乎找不到pom或jar类型的引用

我如何解决这个问题

注:我们使用公司的nexus获取依赖项

pom.xml

jmock-parent-2.6.0.pom


听起来依赖项没有正确下载。我将尝试从本地M2存储库中删除org.jmock目录,并让Maven尝试重新下载该jar

编辑:当您在文本编辑器中查看M2_REPO\org\jmock\jmock parent\2.6.0\jmock-parent-2.6.0.pom时,它是否专门说pom?您可能还需要确保Nexus repo中的依赖项是正确的。我只是从Maven Central中提取了依赖项,没有任何问题


编辑2:如果Nexus无法从Maven Central下载,它可能会自动为您创建这样的父pom。您的Nexus安装是否配置为从Maven Central下载依赖项?您是否手动将mvn部署:将jmock-junit4.jar文件部署到Nexus repo?我确信有一种方法可以强制Nexus更新pom,或者您可以通过从maven central下载pom,然后运行上面列出的mvn deploy命令来手动部署适当的父pom。

听起来依赖项没有正确下载。我将尝试从本地M2存储库中删除org.jmock目录,并让Maven尝试重新下载该jar

编辑:当您在文本编辑器中查看M2_REPO\org\jmock\jmock parent\2.6.0\jmock-parent-2.6.0.pom时,它是否专门说pom?您可能还需要确保Nexus repo中的依赖项是正确的。我只是从Maven Central中提取了依赖项,没有任何问题


编辑2:如果Nexus无法从Maven Central下载,它可能会自动为您创建这样的父pom。您的Nexus安装是否配置为从Maven Central下载依赖项?您是否手动将mvn部署:将jmock-junit4.jar文件部署到Nexus repo?我确信有一种方法可以强制Nexus更新pom,或者您可以手动部署适当的父pom,方法是从maven central下载pom,然后运行上面列出的mvn deploy命令。

我这样做了,但问题仍然存在。有趣的问题。。。更新了我的答案看看我问题中的更新。似乎我们的nexus在下载pom文件时遇到了麻烦。更新了我的答案。。。看起来可能是nexus配置问题?我更改了下载依赖项的存储库,然后。。。现在一切都很顺利!我将向nexus管理员报告此问题。谢谢@jmcmahonI,但问题仍然存在。有趣的问题。。。更新了我的答案看看我问题中的更新。似乎我们的nexus在下载pom文件时遇到了麻烦。更新了我的答案。。。看起来可能是nexus配置问题?我更改了下载依赖项的存储库,然后。。。现在一切都很顺利!我将向nexus管理员报告此问题。谢谢@jmcmahon
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>Poc</groupId>
<artifactId>Poc</artifactId>
<version>0.0.1-SNAPSHOT</version>

<properties>
    <maven.compiler.source>1.6</maven.compiler.source>
    <maven.compiler.target>1.6</maven.compiler.target>
</properties>

<dependencies>
      <dependency>
         <groupId>org.jmock</groupId>
         <artifactId>jmock-junit4</artifactId>
         <version>2.6.0</version>
      </dependency>
</dependencies>
  </project>
<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <modelVersion>4.0.0</modelVersion>
   <groupId>org.jmock</groupId>
   <artifactId>jmock-parent</artifactId>
   <version>2.6.0</version>
   <description>POM was created by Sonatype Nexus</description>
</project>