【发布时间】:2018-06-15 22:12:32
【问题描述】:
我在 ubuntu 16.04 中使用 pdftk 库来合并几个 pdf。一切正常,当我安装 SSL 证书时出现此错误:
Error: Unexpected Exception in open_reader()
java.lang.RuntimeException: java.lang.RuntimeException: error instantiating
default socket factory: java.security.KeyManagementException:
java.security.KeyStoreException: java.io.FileNotFoundException:
/usr/lib/jvm/java-1.5.0-gcj-5-amd64/jre/lib/security/cacerts (No such file or
directory)
at javax.net.ssl.SSLSocketFactory$ErrorSocketFactory.createSocket(libgcj.so.16)
at gnu.java.net.protocol.http.HTTPConnection.getSocket(libgcj.so.16)
at gnu.java.net.protocol.http.HTTPConnection.getOutputStream(libgcj.so.16)
at gnu.java.net.protocol.http.Request.dispatch(libgcj.so.16)
at gnu.java.net.protocol.http.HTTPURLConnection.connect(libgcj.so.16)
at gnu.java.net.protocol.http.HTTPURLConnection.getInputStream(libgcj.so.16)
at java.net.URL.openStream(libgcj.so.16)
at pdftk.com.lowagie.text.pdf.RandomAccessFileOrArray.<init>(pdftk)
at pdftk.com.lowagie.text.pdf.PRTokeniser.<init>(pdftk)
at pdftk.com.lowagie.text.pdf.PdfReader.<init>(pdftk)
at pdftk.com.lowagie.text.pdf.PdfReader.<init>(pdftk)
Caused by: java.lang.RuntimeException: error instantiating default socket
factory: java.security.KeyManagementException: java.security.KeyStoreException:
java.io.FileNotFoundException: /usr/lib/jvm/java-1.5.0-gcj-5-
amd64/jre/lib/security/cacerts (No such file or directory)
at javax.net.ssl.SSLSocketFactory.getDefault(libgcj.so.16)
at javax.net.ssl.HttpsURLConnection.getDefaultSSLSocketFactory(libgcj.so.16)
at javax.net.ssl.HttpsURLConnection.getSSLSocketFactory(libgcj.so.16)
经过多次研究,我发现问题来自 https 链接。 当我使用 https 的 pdf 文件中的链接时,它不起作用例如:
sudo pdftk https://www.fifa.com/mm/document/fanfest/magazine/magazine09-06p.3en_3465.pdf output 1805.pdf
你能帮我解决这个错误吗?
【问题讨论】:
-
FileNotFoundException就是它听起来的样子。如果您还分享了负责的代码,可能会有所帮助。 -
您缺少此文件:
/usr/lib/jvm/java-1.5.0-gcj-5-amd64/jre/lib/security/cacerts (No such file or directory)
标签: java ubuntu nginx ssl-certificate pdftk