Почему я получаю ошибку 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
.
Ответ 2
Если некоторые из репозиториев кажутся разбитыми, вы можете отключить эту проверку с помощью
-Ddependency.locations.enabled=false
Проверить эту ссылку
https://whatiscomingtomyhead.wordpress.com/2011/04/20/if-your-maven-site-build-is-too-slow/
Ответ 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).
См. также: