Skip to content

Set up Java 21 for JRuby - #21

Open
sampokuokkanen wants to merge 1 commit into
socketry:mainfrom
sampokuokkanen:jruby-java-21
Open

Set up Java 21 for JRuby#21
sampokuokkanen wants to merge 1 commit into
socketry:mainfrom
sampokuokkanen:jruby-java-21

Conversation

@sampokuokkanen

Copy link
Copy Markdown

JRuby is compiled for Java 21, but GitHub's runners provide Java 17 by default, so it fails to start before any tests run:

Error: LinkageError occurred while loading main class org.jruby.main.Main
	java.lang.UnsupportedClassVersionError: org/jruby/main/Main has been compiled by a more recent
	version of the Java Runtime (class file version 65.0), this version of the Java Runtime only
	recognizes class file versions up to 61.0
JRuby failed to start, try Java 21 envs

Set up Java 21 before ruby/setup-ruby, only for JRuby, so the other entries in the matrix are unaffected.

I verified this on a project using the current template: JRuby now starts and proceeds to install gems. That project happens to depend on a C extension, so its JRuby entry still fails afterwards for an unrelated reason — but the runtime itself is no longer the blocker.

JRuby is compiled for Java 21, but the runner provides Java 17 by
default, so it fails to start before any tests run:

	UnsupportedClassVersionError: org/jruby/main/Main has been compiled
	by a more recent version of the Java Runtime (class file version
	65.0), this version of the Java Runtime only recognizes class file
	versions up to 61.0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant