为什么我收到Maven错误:“无法确定资源X是否存在于http://maven.glassfish.org/content/groups/glassfish”?

每当我们在Maven中执行我们的site目标时,我们会在控制台日志中获得一长串与依赖项相关的错误。 这些错误似乎是在构建的依赖关系报告创建过程中生成的。 在针对http://maven.glassfish.org/content/groups/glassfish存储库检查资源时,似乎会生成所有错误。 (那里也有一个奇怪的JavaFX错误,但我们暂时不担心) 构建确实成功完成。

 10:21:52 [INFO] Generating "Dependencies" report --- maven-project-info-reports-plugin:2.7:dependencies 10:22:07 [ERROR] Artifact: com.oracle:javafx:jar:2.2.25 has no file. 10:22:09 [WARNING] The repository url 'http://repository.springsource.com/maven/bundles/external' is invalid - Repository 'spring-external' will be blacklisted. 10:22:10 [WARNING] The repository url 'http://download.oracle.com/maven' is invalid - Repository 'oracleReleases' will be blacklisted. 10:22:12 [ERROR] Unable to determine if resource com.fasterxml.jackson.core:jackson-databind:jar:2.4.1.3:compile exists in http://maven.glassfish.org/content/groups/glassfish 10:22:12 [ERROR] Unable to determine if resource com.google.api-client:google-api-client:jar:1.19.0:compile exists in http://maven.glassfish.org/content/groups/glassfish 10:22:13 [ERROR] Unable to determine if resource com.google.apis:google-api-services-calendar:jar:v3-rev88-1.19.0:compile exists in http://maven.glassfish.org/content/groups/glassfish 10:22:13 [ERROR] Unable to determine if resource com.google.guava:guava-jdk5:jar:13.0:compile exists in http://maven.glassfish.org/content/groups/glassfish ... 

我做了一些研究,似乎列出的存储库URL是正确的。 我想知道它是否可能是我们的Dependencies报告插件中的错误? 不太确定,此时欢迎提出建议或推测

编辑:发布以下错误之一的详细控制台输出:

 [ERROR] Unable to determine if resource com.google.guava:guava-jdk5:jar:13.0:compile exists in http://maven.glassfish.org/content/groups/glassfish org.apache.maven.wagon.TransferFailedException: Failed to look for file: http://maven.glassfish.org/content/groups/glassfish//com/google/guava/guava-jdk5/13.0/guava-jdk5-13.0.jar. Return code is: 301 at org.apache.maven.wagon.providers.http.LightweightHttpWagon.resourceExists(LightweightHttpWagon.java:351) at org.apache.maven.report.projectinfo.dependencies.RepositoryUtils.dependencyExistsInRepo(RepositoryUtils.java:228) at org.apache.maven.report.projectinfo.dependencies.renderer.DependenciesRenderer.printArtifactsLocations(DependenciesRenderer.java:1311) at org.apache.maven.report.projectinfo.dependencies.renderer.DependenciesRenderer.renderSectionDependencyRepositoryLocations(DependenciesRenderer.java:756) at org.apache.maven.report.projectinfo.dependencies.renderer.DependenciesRenderer.renderBody(DependenciesRenderer.java:269) at org.apache.maven.reporting.AbstractMavenReportRenderer.render(AbstractMavenReportRenderer.java:79) at org.apache.maven.report.projectinfo.DependenciesReport.executeReport(DependenciesReport.java:186) at org.apache.maven.reporting.AbstractMavenReport.generate(AbstractMavenReport.java:190) at org.apache.maven.plugins.site.render.ReportDocumentRenderer.renderDocument(ReportDocumentRenderer.java:224) at org.apache.maven.doxia.siterenderer.DefaultSiteRenderer.renderModule(DefaultSiteRenderer.java:311) at org.apache.maven.doxia.siterenderer.DefaultSiteRenderer.render(DefaultSiteRenderer.java:129) at org.apache.maven.plugins.site.render.SiteMojo.renderLocale(SiteMojo.java:182) at org.apache.maven.plugins.site.render.SiteMojo.execute(SiteMojo.java:141) at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:106) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59) at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183) at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:317) at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:152) at org.apache.maven.cli.MavenCli.execute(MavenCli.java:555) at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:214) at org.apache.maven.cli.MavenCli.main(MavenCli.java:158) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289) at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229) at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415) at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356) http://maven.glassfish.org/content/groups/glassfish - Session: Disconnecting http://maven.glassfish.org/content/groups/glassfish - Session: Disconnected http://download.java.net/maven/2 - Session: Opened http://download.java.net/maven/2 - Session: Disconnecting http://download.java.net/maven/2 - Session: Disconnected http://download.java.net/maven/1 - Session: Opened http://download.java.net/maven/1 - Session: Disconnecting http://download.java.net/maven/1 - Session: Disconnected https://maven.java.net/content/groups/public - Session: Opened https://maven.java.net/content/groups/public - Session: Disconnecting https://maven.java.net/content/groups/public - Session: Disconnected http://repo.maven.apache.org/maven2 - Session: Opened http://repo.maven.apache.org/maven2 - Session: Disconnecting http://repo.maven.apache.org/maven2 - Session: Disconnected http://maven.glassfish.org/content/groups/glassfish - Session: Opened 

您需要通过在pom.xml的属性部分中添加false来禁用依赖项位置检查,如下所示:

  ... false  

对于更多详细信息,默认值为true ,请参阅参数dependencyLocationsEnabled

如果某些repos似乎已损坏,您可以禁用此检查
-Ddependency.locations.enabled=false

查看此链接https://whatiscomingtomyhead.wordpress.com/2011/04/20/if-your-maven-site-build-is-too-slow/

如果您查看http://maven.glassfish.org/content/groups/glassfish或http://maven.glassfish.org/content/groups/glassfish//com/google/guava/guava-jdk5/13.0/guava- jdk5-13.0.jar (来自详细日志)你会发现似乎没有内容(404)。

pom.xml存储库设置可能有问题。 您可以尝试在其他存储库之前添加repo1:

   maven-central http://repo1.maven.org/maven2  ...  

因为大多数东西都在maven中央仓库中,所以你可以从pom.xml删除所有的存储库(除了Spring repo,如果你真的使用Spring的东西)。

也可以看看:

  • Maven使用错误的存储库进行下载
  • Maven没有使用repo1,它会转到maven.glassfish.org并且我的构建失败了