Maven can';尽管jar已经就位,但无法获取依赖项信息

Maven can';尽管jar已经就位,但无法获取依赖项信息,maven,ant,Maven,Ant,在构建我的项目的过程中,我从Ant/Maven得到以下错误: BUILD FAILED C:\Users\kmilyutin\git\siamprofiler\classpath.build.xml:41: The following error occurred while executing this line: C:\Users\kmilyutin\git\siamprofiler\classpath.build.xml:33: Unable to resolve artifact: Un

在构建我的项目的过程中,我从Ant/Maven得到以下错误:

BUILD FAILED
C:\Users\kmilyutin\git\siamprofiler\classpath.build.xml:41: The following error occurred while executing this line:
C:\Users\kmilyutin\git\siamprofiler\classpath.build.xml:33: Unable to resolve artifact: Unable to get dependency information: Unable to read the metadata file for artifact 'commons-beanutils:commons-beanutils:jar': Cannot find parent: org.apache.commons:commons-parent for project: commons-beanutils:commons-beanutils:jar:1.8.0 for project commons-beanutils:commons-beanutils:jar:1.8.0
  commons-beanutils:commons-beanutils:jar:1.8.0
同时,与
commons beanutils
相关的文件位于存储库中:
C:\Users\kmilyutin\.m2\repository\commons beanutils\commons beanutils\1.8.0
有人能帮忙解决这个问题吗

更新:我试图删除目录
.m2\repository\commons beanutils\
,然后重新构建。Maven给了我同样的错误,但是现在
1.8.0\
目录中只有2个文件:
commons-beanutils-1.8.0.pom
commons-beanutils-1.8.0.pom.sha1
。不管出于什么原因,jar文件丢失了,尽管我可以在中央Maven存储库中找到它

以下是调试输出:

BUILD FAILED
C:\Users\kmilyutin\git\siamprofiler\classpath.build.xml:41: The following error occurred while executing this line:
C:\Users\kmilyutin\git\siamprofiler\classpath.build.xml:33: Unable to resolve artifact: Unable to get dependency information: Unable to read the metadata file for artifact 'commons-beanutils:commons-beanutils:jar': Cannot find parent: org.apache.commons:commons-parent for project: commons-beanutils:commons-beanutils:jar:1.8.0 for project commons-beanutils:commons-beanutils:jar:1.8.0
  commons-beanutils:commons-beanutils:jar:1.8.0

from the specified remote repositories:
  central (http://repo1.maven.org/maven2),
  maven2-repository.dev.java.net (http://download.java.net/maven/2/),
  jboss-public-repository-group (https://repository.jboss.org/nexus/content/groups/public/)

Path to dependency: 
    1) com.sivis:siamprofiler:war:2.7.3-SNAPSHOT
    2) org.richfaces.framework:richfaces-api:jar:3.3.5-SNAPSHOT


    at org.apache.maven.artifact.ant.DependenciesTask.doExecuteResolution(DependenciesTask.java:268)
    at org.apache.maven.artifact.ant.DependenciesTask.doExecute(DependenciesTask.java:168)
    at org.apache.maven.artifact.ant.AbstractArtifactTask.execute(AbstractArtifactTask.java:751)
    at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
    at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:601)
    at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
    at org.apache.tools.ant.Task.perform(Task.java:348)
    at org.apache.tools.ant.taskdefs.Sequential.execute(Sequential.java:68)
    at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
    at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:601)
    at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
    at org.apache.tools.ant.Task.perform(Task.java:348)
    at org.apache.tools.ant.taskdefs.MacroInstance.execute(MacroInstance.java:398)
    at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
    at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:601)
    at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
    at org.apache.tools.ant.Task.perform(Task.java:348)
    at org.apache.tools.ant.Target.execute(Target.java:390)
    at org.apache.tools.ant.Target.performTasks(Target.java:411)
    at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399)
    at org.apache.tools.ant.Project.executeTarget(Project.java:1368)
    at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
    at org.apache.tools.ant.Project.executeTargets(Project.java:1251)
    at org.apache.tools.ant.Main.runBuild(Main.java:809)
    at org.apache.tools.ant.Main.startAnt(Main.java:217)
    at org.apache.tools.ant.launch.Launcher.run(Launcher.java:280)
    at org.apache.tools.ant.launch.Launcher.main(Launcher.java:109)
Caused by: org.apache.maven.artifact.resolver.ArtifactResolutionException: Unable to get dependency information: Unable to read the metadata file for artifact 'commons-beanutils:commons-beanutils:jar': Cannot find parent: org.apache.commons:commons-parent for project: commons-beanutils:commons-beanutils:jar:1.8.0 for project commons-beanutils:commons-beanutils:jar:1.8.0
  commons-beanutils:commons-beanutils:jar:1.8.0

from the specified remote repositories:
  central (http://repo1.maven.org/maven2),
  maven2-repository.dev.java.net (http://download.java.net/maven/2/),
  jboss-public-repository-group (https://repository.jboss.org/nexus/content/groups/public/)

Path to dependency: 
    1) com.sivis:siamprofiler:war:2.7.3-SNAPSHOT
    2) org.richfaces.framework:richfaces-api:jar:3.3.5-SNAPSHOT


    at org.apache.maven.artifact.resolver.DefaultArtifactCollector.recurse(DefaultArtifactCollector.java:430)
    at org.apache.maven.artifact.resolver.DefaultArtifactCollector.recurse(DefaultArtifactCollector.java:435)
    at org.apache.maven.artifact.resolver.DefaultArtifactCollector.collect(DefaultArtifactCollector.java:74)
    at org.apache.maven.artifact.resolver.DefaultArtifactResolver.resolveTransitively(DefaultArtifactResolver.java:316)
    at org.apache.maven.artifact.ant.DependenciesTask.doExecuteResolution(DependenciesTask.java:263)
    ... 32 more
Caused by: org.apache.maven.artifact.metadata.ArtifactMetadataRetrievalException: Unable to read the metadata file for artifact 'commons-beanutils:commons-beanutils:jar': Cannot find parent: org.apache.commons:commons-parent for project: commons-beanutils:commons-beanutils:jar:1.8.0 for project commons-beanutils:commons-beanutils:jar:1.8.0
    at org.apache.maven.project.artifact.MavenMetadataSource.retrieveRelocatedProject(MavenMetadataSource.java:200)
    at org.apache.maven.project.artifact.MavenMetadataSource.retrieveRelocatedArtifact(MavenMetadataSource.java:94)
    at org.apache.maven.artifact.resolver.DefaultArtifactCollector.recurse(DefaultArtifactCollector.java:387)
    ... 36 more
Caused by: org.apache.maven.project.ProjectBuildingException: Cannot find parent: org.apache.commons:commons-parent for project: commons-beanutils:commons-beanutils:jar:1.8.0 for project commons-beanutils:commons-beanutils:jar:1.8.0
    at org.apache.maven.project.DefaultMavenProjectBuilder.assembleLineage(DefaultMavenProjectBuilder.java:1396)
    at org.apache.maven.project.DefaultMavenProjectBuilder.buildInternal(DefaultMavenProjectBuilder.java:823)
    at org.apache.maven.project.DefaultMavenProjectBuilder.buildFromRepository(DefaultMavenProjectBuilder.java:255)
    at org.apache.maven.project.artifact.MavenMetadataSource.retrieveRelocatedProject(MavenMetadataSource.java:163)
    ... 38 more
Caused by: org.apache.maven.project.InvalidProjectModelException: Parse error reading POM. Reason: end tag not allowed in epilog but got / (position: END_TAG seen ...</properties>\r\n\r\n</project>\r\n   </... @639:6)  for project org.apache.commons:commons-parent at C:\Users\kmilyutin\.m2\repository\org\apache\commons\commons-parent\11\commons-parent-11.pom
    at org.apache.maven.project.DefaultMavenProjectBuilder.readModel(DefaultMavenProjectBuilder.java:1610)
    at org.apache.maven.project.DefaultMavenProjectBuilder.readModel(DefaultMavenProjectBuilder.java:1571)
    at org.apache.maven.project.DefaultMavenProjectBuilder.findModelFromRepository(DefaultMavenProjectBuilder.java:562)
    at org.apache.maven.project.DefaultMavenProjectBuilder.assembleLineage(DefaultMavenProjectBuilder.java:1392)
    ... 41 more
Caused by: org.codehaus.plexus.util.xml.pull.XmlPullParserException: end tag not allowed in epilog but got / (position: END_TAG seen ...</properties>\r\n\r\n</project>\r\n   </... @639:6) 
    at org.codehaus.plexus.util.xml.pull.MXParser.parseEpilog(MXParser.java:1594)
    at org.codehaus.plexus.util.xml.pull.MXParser.nextImpl(MXParser.java:1405)
    at org.codehaus.plexus.util.xml.pull.MXParser.next(MXParser.java:1105)
    at org.apache.maven.model.io.xpp3.MavenXpp3Reader.parseModel(MavenXpp3Reader.java:2133)
    at org.apache.maven.model.io.xpp3.MavenXpp3Reader.read(MavenXpp3Reader.java:3912)
    at org.apache.maven.project.DefaultMavenProjectBuilder.readModel(DefaultMavenProjectBuilder.java:1606)
    ... 44 more

Total time: 5 seconds

它在信息中说明了原因:

找不到项目的父项:org.apache.commons:commons父项: commons beanutils:commons beanutils:jar:1.8.0

为了能够找出依赖关系,maven不仅需要实际的工件元数据,还需要依赖元数据。这就是你所缺少的

由于commons父级11处于中,因此通过与maven central的正确网络连接重试应该可以解决此问题

但是,如果没有,则在启用调试的情况下发布完整输出(
mvn-X


编辑:现在通过调试输出,我们可以看到

C:\Users\kmilyutin.m2\repository\org\apache\commons\commons parent\11\commons-parent-11.pom

已损坏:

org.apache.maven.project.InvalidProjectModelException: Parse error reading POM.
Reason: end tag not allowed in epilog but got / (position: END_TAG seen ...</properties>\r\n\r\n</project>\r\n   </... @639:6)
for project org.apache.commons:commons-parent
at C:\Users\kmilyutin\.m2\repository\org\apache\commons\commons-parent\11\commons-parent-11.pom
org.apache.maven.project.InvalidProjectModelException:读取POM时解析错误。

原因:epilog中不允许使用end标记,但得到/(位置:end_标记已看到…\r\n\r\n\r\n只需删除'C:\Users\kmilyutin\.m2\repository\commons beanutils',然后重试构建。Hello@khmarbaise,我更新了问题。如果您仍然遇到此问题,请在打开调试的情况下运行maven(
mvn-X
)并将输出添加到问题中。这是什么类型的文件
classpath.build.xml:33
?不是来自maven构建的?你能显示完整的pom文件吗?我打印了调试输出。maven是从Ant调用的,我不知道细节,因为我不是maven profi。我想我已经连接到maven中央存储库,否则我不会拥有所有的“.m2”目录中的其他文件,可以吗?我如何确定这一点?@damluar,这取决于。您可能与代理repo建立了连接,例如,代理repo只包含maven central的一些内容。但是如果使用调试输出,您就会知道。@damluar您的调试输出显示父pom已损坏。我根据该.Af更新了我的答案删除您指定的文件后,所有内容都正常生成。您能猜到为什么会发生这种情况吗?有很多选择,可能是手动错误、网络连接中断或其他原因。但这应该是非常罕见的。不过,本地maven repo可能有不正确内容的其他原因也有很多,因此,对于maven和依赖性问题,我经常使用干净的repo重试。
org.apache.maven.project.InvalidProjectModelException: Parse error reading POM.
Reason: end tag not allowed in epilog but got / (position: END_TAG seen ...</properties>\r\n\r\n</project>\r\n   </... @639:6)
for project org.apache.commons:commons-parent
at C:\Users\kmilyutin\.m2\repository\org\apache\commons\commons-parent\11\commons-parent-11.pom