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>
我刚开始使用 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>