maven-java:报错:java.io.IOException: Unknown named curve: 1.2.156.10197.1.301

报错过程:

新os(中科方德)配置java和maven环境,mvn test的时候碰到fault。

截图:

红色连接:浏览器可以正常访问,所以说并不是maven的问题

蓝色框:失败原因,jdk的错误。

查找原因:

1.maven和jdk版本不适配。jdk8、jdk11、jdkl17都尝试过了。

2.maven的设置问题。命令行忽略ssl证书,依旧报错。

3.其他,不记得了,但是无效

4.询问方德工作人员,因为之前也进行过其他os的环境配置。最后锁定在ssl证书

鼓捣ssl证书:

AI回复:keytool 可以生成个人ssl,进行测试,是一种解决办法。

开始查找 :java的ca证书的方法,并将证书添加到java和maven的信任存储当中。

失败:耗费极其长的时间+精力,发现java的1.2.156.10197.1.301仍旧出现在导入证书的命令后。(操作繁琐、没有耐心继续耗下去)

新线索:为什么会出现这个错误?

                SM2是国密算法,jdk的那些类无法解析。

                Alibaba openjdk出现在我的眼前,这是阿里巴巴的jdk,针对中国,添加了SM2算法。

重新安装+配置环境:

下载:

jdk:官网下载,速度很快(毕竟在国内),alibaba的版本和jdk的版本一一对应着,需要8就下8。

maven:官网下载最新稳定版就行

放包:

解压放在自己能找到的地方,最好在根目录(不要怪我没提醒啊,目录结构越简单越好。)

环境变量:

打开文件

nano ~/.bashrc

在文件最后,直接追加下面几条就好,也不存在什么覆盖之类的问题。

四条:

export JAVA_HOME=/path/to/jdk包的名字(通常不写有jdk)
export PATH=$JAVA_HOME/bin:$PATH
export M2_HOME=/path/to/apache-maven-x.x.x
export PATH=$M2_HOME/bin:$PATH

 我的是这样

重启一下资源,下面这条命令

source ~/.bashrc

 环境生效。

小tips:

怎么看JAVA_HOME写到哪,才能正确配置。

|-dragonwell

        |-bin

                |-java

        |-else

这样的结构,写到dragonwell就行。

验证:

java -version

mvn -v

是不是都失效了,什么版本信息都没有,好像没安装配置过一样。

正确看:

/path/to/jdk/bin/java -version

/path/to/apache-maven-3.x.x/bin/mvn -v

同理,使用的时候,也这么使用。不明白原理,这样做的的确是有效的。

完美解决

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值