Why am I getting Maven error: "Unable to determine if resource X exists in http://maven.glassfish.org/content/groups/glassfish"?

Matt Vukas picture Matt Vukas · Oct 1, 2014 · Viewed 8.4k times · Source

Whenever we execute our site goal in Maven, we get a long list of dependency-related errors in our console log. The errors appear to be generated during the Dependency report creation part of the build. All of the errors seem to be generated when resources are checked against the http://maven.glassfish.org/content/groups/glassfish repository. (There's also a strange JavaFX error in there, but we won't worry about that for now) The build does finish successfully.

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
...

I did some research, and it seems that the repository URL listed is correct. I'm wondering if it could possibly be a bug in our Dependencies report plugin? Not really sure, suggestions or speculation are welcome at this point

Edit: Posting verbose console output for one of these errors below:

[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  

Answer

Nicolas Filotto picture Nicolas Filotto · Feb 27, 2016

You will need to disable the dependency location checking by simply adding <dependency.locations.enabled>false</dependency.locations.enabled> in the properties' section of your pom.xml as next:

<properties>
    ...
    <dependency.locations.enabled>false</dependency.locations.enabled>
</properties>

The default value is true for more details refer to the parameter dependencyLocationsEnabled.