You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

在Apache NetBeans中创建Maven Java Web项目失败:protocol_version致命警报

解决NetBeans创建Maven Java Web项目时的protocol_version错误

Hey,这个问题我之前帮好几个开发者解决过,本质是TLS协议版本不兼容的问题——Maven中央仓库现在已经彻底停用了老的TLS 1.0/1.1协议,而你的Java环境默认没启用足够新的TLS版本,导致握手失败。下面是几种靠谱的解决办法:

方法1:升级Java版本到8及以上(推荐)

Java 7及更早版本默认不强制启用TLS 1.2,而Maven中央仓库已经不再支持这些老协议了。升级到Java 8或更高版本是一劳永逸的方案:

  • 下载并安装JDK 8或更新的版本(比如JDK 11、17,都是长期支持版)
  • 在NetBeans中配置新JDK:
    1. 打开NetBeans,点击顶部菜单栏的Tools -> Java Platforms
    2. 点击Add Platform,找到你新安装的JDK路径,完成添加
    3. 将新添加的JDK设置为默认平台(选中后点击Set as Default
  • 同时确认Maven使用的JDK:点击Tools -> Options -> Java -> Maven,确保Java Platform选择的是刚才升级的JDK

方法2:强制老版本Java启用TLS 1.2(仅临时方案)

如果暂时无法升级Java,可以修改Java的安全配置来强制启用TLS 1.2:

  • 找到你的Java安装目录,定位到jre/lib/security/java.security文件(如果是JDK,路径是jdk/jre/lib/security/java.security
  • 打开这个文件,找到jdk.tls.disabledAlgorithms这一行,把其中的TLSv1TLSv1.1从禁用列表中移除
  • 或者在文件末尾添加一行:jdk.tls.client.protocols=TLSv1.2
  • 保存文件后,重启NetBeans和Maven,再尝试创建项目

方法3:检查Maven镜像配置

如果你使用了自定义的Maven镜像(比如公司私有仓库):

  • 确认镜像地址是HTTPS协议,并且服务器支持TLS 1.2及以上版本
  • 打开你的Maven配置文件settings.xml(通常在~/.m2/settings.xml或NetBeans配置的Maven路径下),检查<mirrors>中的镜像地址是否符合要求,避免使用HTTP协议的仓库

验证步骤

可以先打开命令行,运行以下命令确认当前Java和Maven的环境:

  • java -version:查看当前默认Java版本
  • mvn -v:查看Maven使用的Java版本,确保和你配置的一致

内容的提问来源于stack exchange,提问作者libero

火山引擎 最新活动