我正在尝试在Jenkins / Hudson上配置我的电子邮件,并且不断收到错误消息:
java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be
non-empty
我已经在网上看到了大量有关该错误的信息,但是我没有得到任何帮助。我在Fedora Linux(不是OpenJDK)上使用Sun的JDK。
这是我尝试过的几件事。我尝试遵循此post的建议,但是将cacerts从Windows复制到托管Jenkins的Fedora盒中不起作用。我尝试按照this guide进行操作,因为我正在尝试将Gmail配置为我的SMTP服务器,但是它也不起作用。我还尝试手动下载并移动这些cacert文件,并使用this guide上命令的变体将它们移动到Java文件夹中。
我愿意接受任何建议,因为我目前仍处于停滞状态。我已经从Windows Hudson服务器上运行了它,但是我在Linux上苦苦挣扎。
最佳答案
此奇怪消息表示您指定的信任库为:
空的
找不到,或者
无法打开(例如由于访问权限)。
另请参见@AdamPlumb的answer below。
要调试此问题(我曾写过here)并了解正在使用的信任库,可以添加the property javax.net.debug = all,然后过滤有关信任库的日志。您还可以使用属性javax.net.ssl.trustStore来指定特定的信任库。例如 :
java -Djavax.net.debug=all -Djavax.net.ssl.trustStore=/Another/path/to/cacerts -jar test_get_https-0.0.1-SNAPSHOT-jar-with-dependencies.jar https://www.calca.com.py 2>&1| grep -i truststore