Почему я получаю ошибку Maven: "Не удалось определить, существует ли ресурс X в http://maven.glassfish.org/content/groups/glassfish"?

Всякий раз, когда мы выполняем нашу цель site в Maven, мы получаем длинный список связанных с зависимостями ошибок в нашем журнале консоли. Похоже, что ошибки возникли во время создания отчета о создании зависимостей сборки. Все ошибки, похоже, генерируются, когда ресурсы проверяются в репозитории 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? Не совсем уверен, предложения или предположения приветствуются в этот момент

Edit: Проводка подробного вывода консоли для одной из следующих ниже ошибок:

[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  

Ответы

Ответ 1

Вам нужно будет отключить проверку местоположения зависимостей, просто добавив <dependency.locations.enabled>false</dependency.locations.enabled> в раздел свойств вашего pom.xml следующим образом:

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

Значение по умолчанию true для более подробной информации относится к параметру dependencyLocationsEnabled.

Ответ 3

Если вы проверите 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 перед другими репозиториями:

<repositories>
    <repository>
        <id>maven-central</id>
        <url>http://repo1.maven.org/maven2</url>
    </repository>
    ...
</repositories>

Так как большая часть материала находится в центральном репозитории maven, возможно, вы можете удалить все репозитории из pom.xml (за исключением репозитория Spring, если вы действительно используете материал Spring).

См. также: