我是 Maven 和 Spring 的新手。
该项目在我的本地测试环境中运行,但不在部署的系统上运行。
在已部署的系统上:
我新安装了 Ubuntu,带有 OpenSDK 10.0.1、Maven 3.5.2
我位于不同的防火墙后面,并且有不同的 keyStore 和 trustStore。
Maven 吐出:
组织的不可解析父 POM。[%mything%]
.app:useraut:0.0.1-SNAPSHOT: 无法从中央传输工件 org.springframework.boot:spring-boot-starter-parent:pom:1.5.9.RELEASE (https://repo.maven.apache.org/maven2 https://repo.maven.apache.org/maven2): java.lang.RuntimeException: 意外错误: java.security.InvalidAlgorithmParameterException: trustAnchors 参数必须非空且 'parent.relativePath' 指向无本地 POM @ 第 14 行第 10 列 -> [帮助 2]
pom 片段:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.9.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
(未定义代理)
看来我可以找到解决方案的想法:错误 - trustAnchors 参数必须非空 https://stackoverflow.com/questions/6784463/error-trustanchors-parameter-must-be-non-empty但我不知道从哪里开始配置 Spring、Maven 或 trustStore
据我发现,Ubuntu Linux 上的 OpenJDK Java 9 及更高版本的发行包存在一个弱点。所以安装default-jdk可能会破坏一些东西。
引用自:(https://bugs.launchpad.net/ubuntu/+source/openjdk-lts/+bug/1768799 https://bugs.launchpad.net/ubuntu/+source/openjdk-lts/+bug/1768799) + 额外的证书更新。
请注意,重新安装default-jdk是可选的,并且可以继续使用openjdk-8。
解决方法:删除default-jdk,安装openjdk-8,删除openjdk-8并重新安装default-jdk:
sudo apt purge openjdk-default java-common
sudo apt purge default-jdk java-common
sudo dpkg --purge --force-depends ca-certificates-java
sudo apt install openjdk-8-jre
sudo apt-get install ca-certificates-java
sudo apt purge openjdk-8-jre
sudo apt安装默认jdk
之后我还发现我使用的 Spring 版本在 Java 10.0.1 上运行得不好,因此回到 Java 8.x。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)