Ошибки Maven https с RAD / Eclipse

RAD 9.6.1 (Java 8) в Windows

В настоящее время виновником является Maven, но я держу пари, что это касается всего Eclipse / Java. Ошибки RAD, показывающие это, в проекте и pom.xml:

Failed to read artifact descriptor for com.itextpdf:itext-licensekey:jar:2.0.3
org.eclipse.aether.resolution.ArtifactDescriptorException: Failed to read artifact descriptor for com.itextpdf:itext-licensekey:jar:2.0.3
        at org.apache.maven.repository.internal.DefaultArtifactDescriptorReader.loadPom(DefaultArtifactDescriptorReader.java:302)
        at org.apache.maven.repository.internal.DefaultArtifactDescriptorReader.readArtifactDescriptor(DefaultArtifactDescriptorReader.java:218)
        at org.eclipse.aether.internal.impl.DefaultDependencyCollector.resolveCachedArtifactDescriptor(DefaultDependencyCollector.java:535)
        at org.eclipse.aether.internal.impl.DefaultDependencyCollector.getArtifactDescriptorResult(DefaultDependencyCollector.java:519)
        at org.eclipse.aether.internal.impl.DefaultDependencyCollector.processDependency(DefaultDependencyCollector.java:409)
        at org.eclipse.aether.internal.impl.DefaultDependencyCollector.processDependency(DefaultDependencyCollector.java:363)
        at org.eclipse.aether.internal.impl.DefaultDependencyCollector.process(DefaultDependencyCollector.java:351)
        at org.eclipse.aether.internal.impl.DefaultDependencyCollector.collectDependencies(DefaultDependencyCollector.java:254)
        at org.eclipse.aether.internal.impl.DefaultRepositorySystem.collectDependencies(DefaultRepositorySystem.java:316)
        at org.apache.maven.project.DefaultProjectDependenciesResolver.resolve(DefaultProjectDependenciesResolver.java:172)
        at org.apache.maven.project.DefaultProjectBuilder.resolveDependencies(DefaultProjectBuilder.java:215)
        at org.apache.maven.project.DefaultProjectBuilder.build(DefaultProjectBuilder.java:188)
        at org.apache.maven.project.DefaultProjectBuilder.build(DefaultProjectBuilder.java:119)
        at org.eclipse.m2e.core.internal.embedder.MavenImpl.readMavenProject(MavenImpl.java:636)
        at org.eclipse.m2e.core.internal.project.registry.DefaultMavenDependencyResolver.resolveProjectDependencies(DefaultMavenDependencyResolver.java:63)
        at org.eclipse.m2e.core.internal.project.registry.ProjectRegistryManager.refreshPhase2(ProjectRegistryManager.java:529)
        at org.eclipse.m2e.core.internal.project.registry.ProjectRegistryManager$3.call(ProjectRegistryManager.java:491)
        at org.eclipse.m2e.core.internal.project.registry.ProjectRegistryManager$3.call(ProjectRegistryManager.java:1)
        at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:176)
        at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:151)
        at org.eclipse.m2e.core.internal.project.registry.ProjectRegistryManager.refresh(ProjectRegistryManager.java:495)
        at org.eclipse.m2e.core.internal.project.registry.ProjectRegistryManager.refresh(ProjectRegistryManager.java:350)
        at org.eclipse.m2e.core.internal.project.registry.ProjectRegistryManager.refresh(ProjectRegistryManager.java:297)
        at org.eclipse.m2e.core.internal.builder.MavenBuilder$BuildMethod.getProjectFacade(MavenBuilder.java:154)
        at org.eclipse.m2e.core.internal.builder.MavenBuilder$BuildMethod$1.call(MavenBuilder.java:89)
        at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:176)
        at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:151)
        at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:99)
        at org.eclipse.m2e.core.internal.builder.MavenBuilder$BuildMethod.execute(MavenBuilder.java:86)
        at org.eclipse.m2e.core.internal.builder.MavenBuilder.build(MavenBuilder.java:200)
        at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:735)
        at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
        at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:206)
        at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:246)
        at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:301)
        at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
        at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:304)
        at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:360)
        at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:383)
        at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:144)
        at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:235)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
Caused by: org.eclipse.aether.resolution.ArtifactResolutionException: Could not transfer artifact com.itextpdf:itext-licensekey:pom:2.0.3 from/to iText
(https://repo.itextsupport.com/releases): Received fatal alert: handshake_failure
        at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:444)
        at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:246)
        at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:223)
        at org.apache.maven.repository.internal.DefaultArtifactDescriptorReader.loadPom(DefaultArtifactDescriptorReader.java:287)
        ... 41 more
Caused by: org.eclipse.aether.transfer.ArtifactTransferException: Could not transfer artifact com.itextpdf:itext-licensekey:pom:2.0.3 from/to iText (https://repo.itextsupport.com/releases): Received fatal alert: handshake_failure
        at io.takari.aether.connector.AetherRepositoryConnector$2.wrap(AetherRepositoryConnector.java:895)
        at io.takari.aether.connector.AetherRepositoryConnector$2.wrap(AetherRepositoryConnector.java:1)
        at io.takari.aether.connector.AetherRepositoryConnector$GetTask.flush(AetherRepositoryConnector.java:673)
        at io.takari.aether.connector.AetherRepositoryConnector.get(AetherRepositoryConnector.java:310)
        at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:520)
        at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:421)
        ... 44 more

Caused by: javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure
        at com.ibm.jsse2.j.a(j.java:3)
        at com.ibm.jsse2.j.a(j.java:32)
        at com.ibm.jsse2.as.b(as.java:691)
        at com.ibm.jsse2.as.a(as.java:710)
        at com.ibm.jsse2.as.i(as.java:338)
        at com.ibm.jsse2.as.a(as.java:711)
        at com.ibm.jsse2.as.startHandshake(as.java:454)
        at com.squareup.okhttp.Connection.upgradeToTls(Connection.java:242)
        at com.squareup.okhttp.Connection.connect(Connection.java:159)
        at com.squareup.okhttp.Connection.connectAndSetOwner(Connection.java:175)
        at com.squareup.okhttp.OkHttpClient$1.connectAndSetOwner(OkHttpClient.java:120)
        at com.squareup.okhttp.internal.http.HttpEngine.nextConnection(HttpEngine.java:330)
        at com.squareup.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:319)
        at com.squareup.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:241)
        at com.squareup.okhttp.Call.getResponse(Call.java:271)
        at com.squareup.okhttp.Call$ApplicationInterceptorChain.proceed(Call.java:228)
        at com.squareup.okhttp.Call.getResponseWithInterceptorChain(Call.java:199)
        at com.squareup.okhttp.Call.execute(Call.java:79)
        at io.takari.aether.okhttp.OkHttpAetherClient.execute(OkHttpAetherClient.java:154)
        at io.takari.aether.okhttp.OkHttpAetherClient.get(OkHttpAetherClient.java:100)
        at io.takari.aether.connector.AetherRepositoryConnector$GetTask.resumableGet(AetherRepositoryConnector.java:600)
        at io.takari.aether.connector.AetherRepositoryConnector$GetTask.run(AetherRepositoryConnector.java:453)
        at io.takari.aether.connector.AetherRepositoryConnector.get(AetherRepositoryConnector.java:304)
        ... 46 more
        pom.xml /Mail   line 1  Maven Dependency Problem 

Или, когда я запускаю Maven из RAD, это:

[ОШИБКА] Не удалось выполнить цель проекта. Почта: не удалось разрешить зависимости для проекта com.ibm.gs.houston: Почта: адаптер: 1.0-SNAPSHOT: Не удалось собрать зависимости в com.itextpdf: itext-licensekey: jar: 2.0. 3: Не удалось прочитать дескриптор артефакта для com.itextpdf: itext-licensekey: jar: 2.0.3: Не удалось передать артефакт com.itextpdf: itext-licensekey: pom: 2.0.3 из / в iText (https://repo.itextsupport.com/releases): Нет подходящего протокола, возможно, не указан подходящий набор шифров или протоколы деактивированы -> [Справка 1]

Я подозреваю, что это не только , но любой сайт, который больше не поддерживает SSLv3. Я тоже видел это в WebSphere, когда у него было параметр" SSL_TLS ", который явно не поддерживает TLS 1.1 или 1.2. Поиск того, что я надеялся, было правильным файлом свойств RAD для решения этой настройки, похоже, не имело никакого значения.

Из сведений о конфигурации Eclipse я вижу:

com.ibm.SSL.ConfigURL=file:C:\Program Files\IBM\SDP/runtimes/base_stub/properties/ssl.client.props

Но изменение настроек не помогло.


person dbreaux    schedule 14.09.2017    source источник
comment
Еще одна проблема https с Maven в RAD, которую я могу решить с помощью этой техники: stackoverflow.com/a/46665598/796761 . Однако здесь это не помогает, потому что URL-адрес itext http перенаправляет на https. Даже если это так, для работы нужен https. Я не могу быть единственным, кто пытается использовать Maven под RAD с https?   -  person dbreaux    schedule 11.10.2017


Ответы (3)


Похоже, это ошибка Eclipse, которая не исправляется до более поздней версии, чем та, которую сейчас использует RAD:

https://bugs.eclipse.org/bugs/show_bug.cgi?id=515859

person dbreaux    schedule 20.10.2017

Подход, который работает в настоящее время, заключается в обновлении eclipse.ini RAD, чтобы он указывал на пользовательский java.security файл.

Отредактируйте файл RAD eclipse.ini, добавив что-то вроде: -Djava.security.properties=/Users/YourUsername/my.java.security

Где my.java.security содержит:

# explicitly don't use the WAS-provided SSL factory (from RAD).
# Use -Djava.security.properties=/Users/YourUsername/my.java.security in eclipse.ini
ssl.SocketFactory.provider=
ssl.ServerSocketFactory.provider=
person dbreaux    schedule 31.10.2018
comment
Неважно, это не работает для Maven Central. Он работал для репозитория iText, но не для Maven Central. Для этого у меня все еще есть обычай settings.xml, заставляющий его не использовать https. Grrr, grrr - person dbreaux; 12.03.2019

В последнем обновлении RAD 9.6 используется Maven M2E 1.8.3, в котором ошибка отсутствует. Решение состоит в том, чтобы обновить установку RAD 9.6 с помощью IBM Installation Manager.

person RotBot    schedule 08.06.2020