Maven can';尽管jar已经就位,但无法获取依赖项信息
在构建我的项目的过程中,我从Ant/Maven得到以下错误: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
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