报错过程:
新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
同理,使用的时候,也这么使用。不明白原理,这样做的的确是有效的。
完美解决