Trouble installing and running JabRef 4.0


#1

I have downloaded the 4.0 jar file and am trying to run it on a CentOS Linux system. I am getting the error below, which I think is related to the choice of having logging info sent to the developers. The window asking that question never shows up. I suspect this could be due to the firewall and the proxy I have to use to get out to the internet. Any suggestions on how I could resolve this?

Thanks.

OS:

cat /etc/centos-release
CentOS Linux release 7.4.1708 (Core)

Java version:

java -version
java version "1.8.0_152"
Java™ SE Runtime Environment (build 1.8.0_152-b16)
Java HotSpot™ 64-Bit Server VM (build 25.152-b16, mixed mode)

Error message:

java -jar JabRef-4.0.jar
File: grouptree.fxml not found, attempting with camel case
File: grouptree.css not found, attempting with camel case
10:10:50.810 [SwingWorker-pool-4-thread-1] WARN org.jabref.gui.worker.VersionWorker - Could not connect to the updateserver.
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at sun.security.ssl.Alerts.getSSLException(Alerts.java:192) ~[?:1.8.0_152]
at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1959) ~[?:1.8.0_152]
at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:302) ~[?:1.8.0_152]
at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:296) ~[?:1.8.0_152]
at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1514) ~[?:1.8.0_152]
at sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:216) ~[?:1.8.0_152]
at sun.security.ssl.Handshaker.processLoop(Handshaker.java:1026) ~[?:1.8.0_152]
at sun.security.ssl.Handshaker.process_record(Handshaker.java:961) ~[?:1.8.0_152]
at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1072) ~[?:1.8.0_152]
at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1385) ~[?:1.8.0_152]
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1413) ~[?:1.8.0_152]
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1397) ~[?:1.8.0_152]
at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:559) ~[?:1.8.0_152]
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:185) ~[?:1.8.0_152]
at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1564) ~[?:1.8.0_152]
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1492) ~[?:1.8.0_152]
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:263) ~[?:1.8.0_152]
at org.jabref.logic.util.Version.getAllAvailableVersions(Version.java:96) ~[JabRef-4.0.jar:?]
at org.jabref.gui.worker.VersionWorker.doInBackground(VersionWorker.java:55) [JabRef-4.0.jar:?]
at org.jabref.gui.worker.VersionWorker.doInBackground(VersionWorker.java:29) [JabRef-4.0.jar:?]
at javax.swing.SwingWorker$1.call(SwingWorker.java:295) [?:1.8.0_152]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_152]
at javax.swing.SwingWorker.run(SwingWorker.java:334) [?:1.8.0_152]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_152]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_152]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_152]
Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:397) ~[?:1.8.0_152]
at sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:302) ~[?:1.8.0_152]
at sun.security.validator.Validator.validate(Validator.java:260) ~[?:1.8.0_152]
at sun.security.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:324) ~[?:1.8.0_152]
at sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:229) ~[?:1.8.0_152]
at sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:124) ~[?:1.8.0_152]
at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1496) ~[?:1.8.0_152]
… 21 more
Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at sun.security.provider.certpath.SunCertPathBuilder.build(SunCertPathBuilder.java:141) ~[?:1.8.0_152]
at sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:126) ~[?:1.8.0_152]
at java.security.cert.CertPathBuilder.build(CertPathBuilder.java:280) ~[?:1.8.0_152]
at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:392) ~[?:1.8.0_152]
at sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:302) ~[?:1.8.0_152]
at sun.security.validator.Validator.validate(Validator.java:260) ~[?:1.8.0_152]
at sun.security.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:324) ~[?:1.8.0_152]
at sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:229) ~[?:1.8.0_152]
at sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:124) ~[?:1.8.0_152]
at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1496) ~[?:1.8.0_152]
… 21 more


(Christoph) #2

Hi,

this indicates some problems with your certifcate store on your linux system:
You need to download the jabref.org certifica te and import it in your java keystore:
(Scroll to the section regarding import of certificate
https://blog.mindorks.com/handle-ssl-https-certification-path-exception-for-java-applications-1b13c751f1e7


(Tobias Diez) #4

I guess you have the option on to run JabRef always in stand-alone mode. For some reason the port which was specified in Preferences → Advanced can not be used. Try another one.

If you cannot start JabRef at the moment, you can reset your preferences from the command line and then everything should work.


#5

Thanks, that’s helpful.


#6

I was able to get this resolved following the solution of @Siedlerchr. In addition to the JabRef certificate, I had to import 2 additional certificates issued by my institution.