Closed
Description
could use a newer release with a JRuby upgrade
for now, still seems to be stucked with JRuby 1.7 which has issues on Java 11 (any Java >= 9)
using jruby-openssl ~ 0.9.5 - assumed the default key store type to be JKS, but it started returning PKCS12 on Java 9, thus we always fail on require 'openssl'
:
org.jruby.exceptions.RaiseException: (OpenSSL::X509::StoreError) setting default path failed: No password supplied for PKCS#12 KeyStore
caused by :
java.lang.NullPointerException: No password supplied for PKCS#12 KeyStore.
at org.bouncycastle.jce.provider.JDKPKCS12KeyStore.engineLoad(Unknown Source)
at java.base/java.security.KeyStore.load(KeyStore.java:1479)
at org.jruby.ext.openssl.x509store.Lookup.loadDefaultJavaCACertsFile(Lookup.java:279)
at org.jruby.ext.openssl.x509store.Lookup$ByFile.call(Lookup.java:428)
at org.jruby.ext.openssl.x509store.Lookup$ByFile.call(Lookup.java:411)
at org.jruby.ext.openssl.x509store.Lookup.control(Lookup.java:123)
at org.jruby.ext.openssl.x509store.Lookup.loadFile(Lookup.java:92)
at org.jruby.ext.openssl.x509store.Store.setDefaultPaths(Store.java:336)
at org.jruby.ext.openssl.X509Store.set_default_paths(X509Store.java:161)
at org.jruby.ext.openssl.X509Store$INVOKER$i$0$0$set_default_paths.call(X509Store$INVOKER$i$0$0$set_default_paths.gen)
Full Maven Log
[DEBUG] =======================================================================
[DEBUG] Skipped remote request for rubygems:jar-dependencies/maven-metadata.xml, locally cached metadata up-to-date.
[DEBUG] Using transporter WagonTransporter with priority -1.0 for mavengem:https://rubygems.org
[DEBUG] Using connector BasicRepositoryConnector with priority 0.0 for mavengem:https://rubygems.org
Downloading from mavengems: mavengem:https://rubygems.org/rubygems/jar-dependencies/maven-metadata.xml
OpenSSL::X509::StoreError: setting default path failed: No password supplied for PKCS#12 KeyStore.
set_default_paths at org/jruby/ext/openssl/X509Store.java:165
SSLContext at uri:classloader:/META-INF/jruby.home/lib/ruby/shared/jopenssl19/openssl/ssl-internal.rb:31
SSL at uri:classloader:/META-INF/jruby.home/lib/ruby/shared/jopenssl19/openssl/ssl-internal.rb:22
OpenSSL at uri:classloader:/META-INF/jruby.home/lib/ruby/shared/jopenssl19/openssl/ssl-internal.rb:21
(root) at uri:classloader:/META-INF/jruby.home/lib/ruby/shared/jopenssl19/openssl/ssl-internal.rb:20
load at org/jruby/RubyKernel.java:1087
(root) at uri:classloader:/META-INF/jruby.home/lib/ruby/shared/openssl/ssl-internal.rb:1
require at org/jruby/RubyKernel.java:1071
require at uri:classloader:/META-INF/jruby.home/lib/ruby/shared/rubygems/core_ext/kernel_require.rb:55
require at uri:classloader:/META-INF/jruby.home/lib/ruby/shared/rubygems/core_ext/kernel_require.rb:53
(root) at uri:classloader:/META-INF/jruby.home/lib/ruby/shared/openssl/ssl-internal.rb:4
load at org/jruby/RubyKernel.java:1087
(root) at uri:classloader:/META-INF/jruby.home/lib/ruby/shared/jopenssl19/openssl.rb:1
require at org/jruby/RubyKernel.java:1071
require at uri:classloader:/META-INF/jruby.home/lib/ruby/shared/rubygems/core_ext/kernel_require.rb:55
require at uri:classloader:/META-INF/jruby.home/lib/ruby/shared/rubygems/core_ext/kernel_require.rb:53
(root) at uri:classloader:/META-INF/jruby.home/lib/ruby/shared/jopenssl19/openssl.rb:21
require at org/jruby/RubyKernel.java:1071
require at uri:classloader:/META-INF/jruby.home/lib/ruby/shared/rubygems/core_ext/kernel_require.rb:55
require at uri:classloader:/META-INF/jruby.home/lib/ruby/shared/rubygems/core_ext/kernel_require.rb:53
(root) at uri:classloader:/META-INF/jruby.home/lib/ruby/shared/jopenssl/load.rb:1
require at org/jruby/RubyKernel.java:1071
require at uri:classloader:/META-INF/jruby.home/lib/ruby/shared/rubygems/core_ext/kernel_require.rb:55
require at uri:classloader:/META-INF/jruby.home/lib/ruby/shared/rubygems/core_ext/kernel_require.rb:53
(root) at uri:classloader:/META-INF/jruby.home/lib/ruby/shared/jopenssl/load.rb:24
require at org/jruby/RubyKernel.java:1071
require at uri:classloader:/META-INF/jruby.home/lib/ruby/shared/rubygems/core_ext/kernel_require.rb:55
require at uri:classloader:/META-INF/jruby.home/lib/ruby/shared/rubygems/core_ext/kernel_require.rb:53
(root) at uri:classloader:/META-INF/jruby.home/lib/ruby/shared/openssl.rb:1
require at org/jruby/RubyKernel.java:1071
require at uri:classloader:/META-INF/jruby.home/lib/ruby/shared/rubygems/core_ext/kernel_require.rb:55
require at uri:classloader:/META-INF/jruby.home/lib/ruby/shared/rubygems/core_ext/kernel_require.rb:53
(root) at uri:classloader:/META-INF/jruby.home/lib/ruby/shared/openssl.rb:1
require at org/jruby/RubyKernel.java:1071
require at uri:classloader:/META-INF/jruby.home/lib/ruby/shared/rubygems/core_ext/kernel_require.rb:55
require at uri:classloader:/META-INF/jruby.home/lib/ruby/shared/rubygems/core_ext/kernel_require.rb:53
(root) at uri:classloader:/META-INF/jruby.home/lib/ruby/shared/rubygems/security.rb:1
require at org/jruby/RubyKernel.java:1071
require at uri:classloader:/META-INF/jruby.home/lib/ruby/shared/rubygems/core_ext/kernel_require.rb:55
require at uri:classloader:/META-INF/jruby.home/lib/ruby/shared/rubygems/core_ext/kernel_require.rb:53
(root) at uri:classloader:/META-INF/jruby.home/lib/ruby/shared/rubygems/security.rb:11
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 6.884 s
[INFO] Finished at: 2020-02-04T11:05:02+01:00
[INFO] ------------------------------------------------------------------------
---------------------------------------------------
constituent[0]: file:/opt/maven/conf/logging/
constituent[1]: file:/opt/maven/lib/wagon-provider-api-3.1.0.jar
constituent[2]: file:/opt/maven/lib/javax.inject-1.jar
constituent[3]: file:/opt/maven/lib/cdi-api-1.0.jar
constituent[4]: file:/opt/maven/lib/plexus-interpolation-1.24.jar
constituent[5]: file:/opt/maven/lib/guice-4.2.0-no_aop.jar
constituent[6]: file:/opt/maven/lib/org.eclipse.sisu.inject-0.3.3.jar
constituent[7]: file:/opt/maven/lib/maven-resolver-transport-wagon-1.1.1.jar
constituent[8]: file:/opt/maven/lib/maven-slf4j-provider-3.5.4.jar
constituent[9]: file:/opt/maven/lib/plexus-component-annotations-1.7.1.jar
constituent[10]: file:/opt/maven/lib/maven-compat-3.5.4.jar
constituent[11]: file:/opt/maven/lib/guava-20.0.jar
constituent[12]: file:/opt/maven/lib/jsr250-api-1.0.jar
constituent[13]: file:/opt/maven/lib/commons-lang3-3.5.jar
constituent[14]: file:/opt/maven/lib/plexus-utils-3.1.0.jar
constituent[15]: file:/opt/maven/lib/wagon-http-3.1.0-shaded.jar
constituent[16]: file:/opt/maven/lib/maven-repository-metadata-3.5.4.jar
constituent[17]: file:/opt/maven/lib/maven-builder-support-3.5.4.jar
constituent[18]: file:/opt/maven/lib/maven-model-3.5.4.jar
constituent[19]: file:/opt/maven/lib/maven-resolver-spi-1.1.1.jar
constituent[20]: file:/opt/maven/lib/maven-embedder-3.5.4.jar
constituent[21]: file:/opt/maven/lib/maven-shared-utils-3.2.1.jar
constituent[22]: file:/opt/maven/lib/aopalliance-1.0.jar
constituent[23]: file:/opt/maven/lib/maven-core-3.5.4.jar
constituent[24]: file:/opt/maven/lib/maven-settings-builder-3.5.4.jar
constituent[25]: file:/opt/maven/lib/maven-plugin-api-3.5.4.jar
constituent[26]: file:/opt/maven/lib/plexus-sec-dispatcher-1.4.jar
constituent[27]: file:/opt/maven/lib/maven-resolver-impl-1.1.1.jar
constituent[28]: file:/opt/maven/lib/maven-artifact-3.5.4.jar
constituent[29]: file:/opt/maven/lib/plexus-cipher-1.7.jar
constituent[30]: file:/opt/maven/lib/wagon-file-3.1.0.jar
constituent[31]: file:/opt/maven/lib/maven-resolver-util-1.1.1.jar
constituent[32]: file:/opt/maven/lib/jcl-over-slf4j-1.7.25.jar
constituent[33]: file:/opt/maven/lib/maven-settings-3.5.4.jar
constituent[34]: file:/opt/maven/lib/maven-model-builder-3.5.4.jar
constituent[35]: file:/opt/maven/lib/slf4j-api-1.7.25.jar
constituent[36]: file:/opt/maven/lib/commons-cli-1.4.jar
constituent[37]: file:/opt/maven/lib/maven-resolver-provider-3.5.4.jar
constituent[38]: file:/opt/maven/lib/maven-resolver-api-1.1.1.jar
constituent[39]: file:/opt/maven/lib/org.eclipse.sisu.plexus-0.3.3.jar
constituent[40]: file:/opt/maven/lib/commons-io-2.5.jar
constituent[41]: file:/opt/maven/lib/jansi-1.17.1.jar
constituent[42]: file:/opt/maven/lib/maven-resolver-connector-basic-1.1.1.jar
---------------------------------------------------
Exception in thread "main" java.lang.ExceptionInInitializerError
at org.torquebox.mojo.mavengem.RubygemsFactory.getOrCreate(RubygemsFactory.java:116)
at org.torquebox.mojo.mavengem.MavenGemURLConnection.connect(MavenGemURLConnection.java:103)
at org.torquebox.mojo.mavengem.MavenGemURLConnection.getInputStream(MavenGemURLConnection.java:83)
at org.torquebox.mojo.mavengem.wagon.MavenGemWagon.fillInputData(MavenGemWagon.java:51)
at org.apache.maven.wagon.StreamWagon.getInputStream(StreamWagon.java:126)
at org.apache.maven.wagon.StreamWagon.getIfNewer(StreamWagon.java:88)
at org.apache.maven.wagon.StreamWagon.get(StreamWagon.java:61)
at org.eclipse.aether.transport.wagon.WagonTransporter$GetTaskRunner.run(WagonTransporter.java:567)
at org.eclipse.aether.transport.wagon.WagonTransporter.execute(WagonTransporter.java:435)
at org.eclipse.aether.transport.wagon.WagonTransporter.get(WagonTransporter.java:412)
at org.eclipse.aether.connector.basic.BasicRepositoryConnector$GetTaskRunner.runTask(BasicRepositoryConnector.java:453)
at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:360)
at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:75)
at org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute(BasicRepositoryConnector.java:583)
at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:232)
at org.eclipse.aether.internal.impl.DefaultMetadataResolver$ResolveTask.run(DefaultMetadataResolver.java:593)
at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:75)
at org.eclipse.aether.internal.impl.DefaultMetadataResolver$1.execute(DefaultMetadataResolver.java:513)
at org.eclipse.aether.internal.impl.DefaultMetadataResolver.resolve(DefaultMetadataResolver.java:368)
at org.eclipse.aether.internal.impl.DefaultMetadataResolver.resolveMetadata(DefaultMetadataResolver.java:191)
at org.apache.maven.repository.internal.DefaultVersionRangeResolver.getVersions(DefaultVersionRangeResolver.java:218)
at org.apache.maven.repository.internal.DefaultVersionRangeResolver.resolveVersionRange(DefaultVersionRangeResolver.java:168)
at org.eclipse.aether.internal.impl.DefaultDependencyCollector.cachedResolveRangeResult(DefaultDependencyCollector.java:619)
at org.eclipse.aether.internal.impl.DefaultDependencyCollector.processDependency(DefaultDependencyCollector.java:394)
at org.eclipse.aether.internal.impl.DefaultDependencyCollector.processDependency(DefaultDependencyCollector.java:365)
at org.eclipse.aether.internal.impl.DefaultDependencyCollector.process(DefaultDependencyCollector.java:353)
at org.eclipse.aether.internal.impl.DefaultDependencyCollector.collectDependencies(DefaultDependencyCollector.java:256)
at org.eclipse.aether.internal.impl.DefaultRepositorySystem.collectDependencies(DefaultRepositorySystem.java:282)
at org.apache.maven.project.DefaultProjectDependenciesResolver.resolve(DefaultProjectDependenciesResolver.java:169)
at org.apache.maven.lifecycle.internal.LifecycleDependencyResolver.getDependencies(LifecycleDependencyResolver.java:243)
at org.apache.maven.lifecycle.internal.LifecycleDependencyResolver.resolveProjectDependencies(LifecycleDependencyResolver.java:147)
at org.apache.maven.lifecycle.internal.MojoExecutor.ensureDependenciesAreResolved(MojoExecutor.java:246)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:200)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:154)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:146)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:117)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:81)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:56)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:305)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:192)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:105)
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:954)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:192)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
Caused by: org.jruby.embed.EvalFailedException: (OpenSSL::X509::StoreError) setting default path failed: No password supplied for PKCS#12 KeyStore.
at org.jruby.embed.internal.EmbedEvalUnitImpl.run(EmbedEvalUnitImpl.java:133)
at org.jruby.embed.ScriptingContainer.runUnit(ScriptingContainer.java:1340)
at org.jruby.embed.ScriptingContainer.runScriptlet(ScriptingContainer.java:1333)
at org.sonatype.nexus.ruby.DefaultRubygemsGateway.<init>(DefaultRubygemsGateway.java:43)
at org.torquebox.mojo.mavengem.Rubygems.<clinit>(Rubygems.java:27)
... 53 more
Caused by: org.jruby.exceptions.RaiseException: (OpenSSL::X509::StoreError) setting default path failed: No password supplied for PKCS#12 KeyStore.
at org.jruby.ext.openssl.X509Store.set_default_paths(org/jruby/ext/openssl/X509Store.java:165)
at RUBY.SSLContext(uri:classloader:/META-INF/jruby.home/lib/ruby/shared/jopenssl19/openssl/ssl-internal.rb:31)
at RUBY.SSL(uri:classloader:/META-INF/jruby.home/lib/ruby/shared/jopenssl19/openssl/ssl-internal.rb:22)
at RUBY.OpenSSL(uri:classloader:/META-INF/jruby.home/lib/ruby/shared/jopenssl19/openssl/ssl-internal.rb:21)
at RUBY.(root)(uri:classloader:/META-INF/jruby.home/lib/ruby/shared/jopenssl19/openssl/ssl-internal.rb:20)
at org.jruby.RubyKernel.load(org/jruby/RubyKernel.java:1087)
there was a discussion that loading OpenSSL really would not be needed in this case and there's an open unpolished experiment: #2 ... with JRuby 9.2.9.0 could maybe just force -Djruby.cli.rubygems.enable=false
?
either way a newer JRuby release might be necessary to properly run on newer Java ...
Metadata
Metadata
Assignees
Labels
No labels