我觉得我遇到的问题是由于事情是如何配置的,我不确定这是如何配置的。
在我们的开发系统上运行可执行的 .jar 文件时,我们通过 System.setProperty 设置密钥库和信任库的位置。这很有效,因为我们能够与数据库服务器通信并获取数据。
在我们的生产系统上运行可执行的 .jar 文件时,我们无法通过 System.setProperty 设置密钥库和信任库的位置。这在调试打开时很明显,并显示 1. 我们的密钥库没有任何内容和 2. 信任库的位置错误,因此我们无法与数据库服务器通信。
我一直在尝试通过 java 代码设置值以及将调用中的值传递给 jar 本身,即java -jar -Djavax.net.ssl.keyStore=/path/keystore
等。
有人可以提供我应该研究的任何可能的事情吗?我也一直在研究 java.policy 和 java.security 文件,但它们中几乎没有任何内容,而且我们内部也没有人可以寻求答案。
-- 更新 -- 在使用调试的生产系统上,没有为密钥库位置设置任何内容,并且信任库路径似乎指向其他位置。