Maven-related Java build error: pom.xml is missing

Maven-related Java build error: pom.xml is missing

我刚开始使用 NetBeans 中的 Maven。我试图找出为什么在构建项目(Java Web 应用程序)时收到以下错误消息:

The POM for unknown.binary:hibernate-jpamodelgen-4.3.1.Final:jar:SNAPSHOT is missing, no dependency information available

在下面的屏幕打印中,您可以看到错误消息,但您也可以看到此依赖项实际上存在于 pom.xml 中,并且相关的 .jar 文件实际上存在于Dependencies 文件夹(所有相关部分在屏幕打印中用细红线标记,您可以点击图片放大):

编辑: 在屏幕打印中,我在 Dependencies 文件夹中将错误的 .jar 文件标记为红色,它应该是我错误标记的文件的正下方。

所以我想知道我在这里遗漏了什么...

编辑: 在屏幕打印中,我在 Dependencies 文件夹中将错误的 .jar 文件标记为红色,它应该是我错误标记的文件的正下方。

那个依赖看起来不对

你在项目中编译那个jar吗?

改为:

<dependency>
  <groupId>org.hibernate</groupId>
  <artifactId>hibernate-jpamodelgen</artifactId>
  <version>5.2.6.Final</version>
  <scope>provided</scope>
</dependency>

或者您要使用的任何版本(即容器中的版本 运行,例如 tomcat)

为了运行,您需要所有的 jar 文件。许多依赖项也需要关联的 jar 文件。考虑目标 "dependency:tree"。它显示了项目的所有依赖项,包括您声明为依赖项的那些。 (稍后再讲)

当您包含依赖项时,maven 需要知道该依赖项是否具有依赖项,以便它也可以拉入那些 jar。 Maven 出去并拉入罐子,将它们存储在您的 $M2_HOME 目录中。它还包括一个关联的 pom。您可以在 Maven 的存储库 https://mvnrepository.com/ 上找到它。 该页面还将向您展示如何在您的 pom.xml 文件中声明您的依赖项。 真是个好网站。

转到您的主目录并查找“.m2”\repository。然后使用您的 jar 名称向下遍历并执行 dir 命令。它会显示罐子和相关的 pom。它的(jar 文件)依赖项需要该 pom。

当您执行 dependency:tree 目标时,它将搜索所有 poms,包括 $M2_HOME 目录中的那些,并显示一个显示所有依赖项的树。 你的缺少 pom

我刚刚访问了 Maven 的站点并输入了您的工件名称。这是它说要使用的 pom 依赖项。

  <!-- https://mvnrepository.com/artifact/org.hibernate/hibernate-jpamodelgen -->
      <dependency>
      <groupId>org.hibernate</groupId>
      <artifactId>hibernate-jpamodelgen</artifactId>
      <version>5.2.6.Final</version>
  </dependency>