java - 错误protocol_version Java 6与maven 3.2.5

标签 java maven

您好,我在 java 1.6 中使用 Maven 时遇到错误。

我已经在stackoverflow和其他网站上尝试了很多解决方案,但我不知道如何解决。

这是错误日志:

    [ERROR] Plugin org.apache.maven.plugins:maven-clean-plugin:2.5 or one of its dependencies could not be resolved: Failed to read artifact descriptor for org.apache.maven.plugins:maven-clean-plugin:jar:2.5: Could not transfer artifact org.apache.maven.plugins:maven-clean-plugin:pom:2.5 from/to uk (https://repo1.maven.org/maven2/): Received fatal alert: protocol_version -> [Help 1]
org.apache.maven.plugin.PluginResolutionException: Plugin org.apache.maven.plugins:maven-clean-plugin:2.5 or one of its dependencies could not be resolved: Failed to read artifact descriptor for org.apache.maven.plugins:maven-clean-plugin:jar:2.5
    at org.apache.maven.plugin.internal.DefaultPluginDependenciesResolver.resolve(DefaultPluginDependenciesResolver.java:122)
    at org.apache.maven.plugin.internal.DefaultMavenPluginManager.getPluginDescriptor(DefaultMavenPluginManager.java:150)
    at org.apache.maven.plugin.internal.DefaultMavenPluginManager.getMojoDescriptor(DefaultMavenPluginManager.java:269)
    at org.apache.maven.plugin.DefaultBuildPluginManager.getMojoDescriptor(DefaultBuildPluginManager.java:239)
    at org.apache.maven.lifecycle.internal.DefaultLifecycleExecutionPlanCalculator.setupMojoExecution(DefaultLifecycleExecutionPlanCalculator.java:158)
    at org.apache.maven.lifecycle.internal.DefaultLifecycleExecutionPlanCalculator.setupMojoExecutions(DefaultLifecycleExecutionPlanCalculator.java:145)
    at org.apache.maven.lifecycle.internal.DefaultLifecycleExecutionPlanCalculator.calculateExecutionPlan(DefaultLifecycleExecutionPlanCalculator.java:122)
    at org.apache.maven.lifecycle.internal.DefaultLifecycleExecutionPlanCalculator.calculateExecutionPlan(DefaultLifecycleExecutionPlanCalculator.java:135)
    at org.apache.maven.lifecycle.internal.builder.BuilderCommon.resolveBuildPlan(BuilderCommon.java:97)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:109)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:120)
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:355)
    at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:155)
    at org.apache.maven.cli.MavenCli.execute(MavenCli.java:584)
    at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:216)
    at org.apache.maven.cli.MavenCli.main(MavenCli.java:160)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    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)
Caused by: org.eclipse.aether.resolution.ArtifactDescriptorException: Failed to read artifact descriptor for org.apache.maven.plugins:maven-clean-plugin:jar:2.5
    at org.apache.maven.repository.internal.DefaultArtifactDescriptorReader.loadPom(DefaultArtifactDescriptorReader.java:302)
    at org.apache.maven.repository.internal.DefaultArtifactDescriptorReader.readArtifactDescriptor(DefaultArtifactDescriptorReader.java:217)
    at org.eclipse.aether.internal.impl.DefaultRepositorySystem.readArtifactDescriptor(DefaultRepositorySystem.java:287)
    at org.apache.maven.plugin.internal.DefaultPluginDependenciesResolver.resolve(DefaultPluginDependenciesResolver.java:108)
    ... 25 more

我使用的是 Java 1.6 JDK 和 Maven 3.2.5(发现这是允许 java 1.6 的最后一个版本)。

我已经尝试在 maven settings.xml 上使用 set MAVEN_OPTS=-Dhttps.protocols=TLSv1.1,TLSv1.2

如果我使用 Maven 执行“更新项目”,它会完美运行,而且如果我尝试连接到 Maven 尝试访问的 URL,我可以打开它,但在 Eclipse 中它会失败。

如果您需要更多信息,请告诉我,我将更新该帖子。

谢谢指教。

最佳答案

问题的根本原因:

(Maven 版本与此无关。“protocol_version”错误来自 Java 6 内置 JCE 提供程序,该提供程序不支持 TLSv1.2 或更高版本。)

您可能的解决方案是:

  • 升级到 Java 7(或者更好的是 Java 8 或 11)。 Java 6 已停产。您不应该使用它,您的客户也不应该使用它。

  • 尝试在运行 Maven 的 Java 6 JVM 中使用第 3 方 JCE 提供程序;请参阅How to use TLS 1.2 in Java 6寻求建议。

  • 设置您自己的 Artifactory 或 Nexus 存储库作为 Maven Central 的缓存,并配置 Maven 以使用它。

  • 配置 Maven 在与 Maven Central 通信时使用 HTTP(而不是 HTTPS);请参阅Force m2e to use http instead of https 。 (但请注意,这会使您的构建过程容易受到依赖项的特洛伊木马版本的偷偷注入(inject)。)

  • 手动下载所需的 Artifact (依赖项 POM 和 JAR 文件)并将其添加到本地(例如 ~/.m2)Maven 存储库。

<小时/>

请注意,升级是最好的解决方案。对于不升级 Java 平台的人来说,生活只会变得更加困难。您(或您的前任)应该在 2012 年升级……在 Java 6 公共(public)更新停止之前。

关于java - 错误protocol_version Java 6与maven 3.2.5,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60281203/

相关文章:

java - 在加工过程中如何使一个物体向另一个物体(它的食物)移动?

java - 查找代码中的安全漏洞 - LDAP 搜索

Java/Android : Byte to file not saving?

java - 如果我们只覆盖类中的 hashCode() 并在 Set 中使用它会发生什么?

java - 如何使用 maven 的 tomcat 插件正确启动介绍性 Web 应用程序?

JavaScript 版本控制 : Managing versions from FE

java - 找不到 org.apache.thrift7.TBase 类

java - 观看目录时仅触发一次事件

maven - 从Maven查找主机名

java - 如何在 Eclipse 运行配置中获取当前的 Git 分支名称