我使用的是Java1.7和Apache 4.0.1。当我抓住卡拉夫的时候,我得到了以下信息:
无法安装功能的org.apache.cxf.dosgi:cxf-dosgi:xml:features:1.7.0::错误解析工件java.io.IOException无法将工件org.apache.cxf.dosgi:cxf-dosgi:xml:features:1.7.0传输到中央(https://repo.maven.apache.org/maven2/):收到致命警报: protocol_version : mvn:org.apache.cxf.dosgi/cxf-dosgi/1.7.0/xml/features
我有什么办法解决这个问题吗?
在进行maven构建时,我尝试设置TLS版本:
export JAVA_TOOL_OPTIONS="-Dfile.encoding=UTF8 -Dhttps.protocols=TLSv1.2 -Xmx2048m -XX:MaxPermSize=1024m -Xms1024m"
export MAVEN_OPTS="-Dhttps.protocols=TLSv1.2"
mvn clean install -DskipTests -Dfile.encoding=UTF8 -Dhttps.protocols=TLSv1.2;发布于 2020-07-29 10:17:32
首先,您应该真正停止使用JDK1.7
但我知道你可能有理由-我也有。
Karaf的特性部署程序使用pax-url-aether,它使用乙醚解析器,它使用Apache http客户机4。
"-Dhttps.protocols=TLSv1.2"系统属性只能用于配置使用java.net.URL#openConnection()获得的连接,在这里不会有帮助。
但是,通过使用BouncyCastle安全提供程序,我能够在这种情况下与TLS1.2存储库联系。你必须做几件事:
property
/path/to/ext 和,通过复制原始$JAVA_HOME/jre/lib/security/java.security并添加:
g 213,在-Djava.ext.dirs=/path/to/ext系统-Djava.ext.dirs=/path/to/ext java.policy文件中使用该目录。
security.provider.1=org.bouncycastle.jce.provider.BouncyCastleProvider
security.provider.2=org.bouncycastle.jsse.provider.BouncyCastleJsseProvider和(在这个文件的底部):
jdk.tls.disabledAlgorithms=SSLv3, TLSv1, TLSv1.1, SSLv2Hello, RC4, DES, MD5withRSA, DH keySize < 1024, EC keySize < 224, 3DES_EDE_CBC, anon, NULL
jdk.tls.client.protocols=TLSv1.2对于弹跳城堡,你也不应该使用-Dhttps.protocols=TLSv1.2
它对我有效,所有的TLS通信都是使用BC提供程序完成的。
编辑:您不能使用更新版本的邦西城堡,因为有https://github.com/bcgit/bc-java/issues/557
https://stackoverflow.com/questions/63134015
复制相似问题