md-5 / SpecialSource

Automatic generator and renamer of jar obfuscation mappings.
Other
202 stars 51 forks source link

Java 19 compatibilty. #89

Closed stolk closed 1 year ago

stolk commented 1 year ago

Is this remapper compatible with java 19?

Because when I use net.md_5.specialsource.mavenplugin version 1.2.4, I get the error:

Unsupported class file major version 63

The full error from the remap stage:

[INFO] --- specialsource-maven-plugin:1.2.4:remap (remap-obf) @ BramCraft ---
Adding inheritance /home/bram/.m2/repository/org/spigotmc/spigot/1.19.3-R0.1-SNAPSHOT/spigot-1.19.3-R0.1-SNAPSHOT-remapped-mojang.jar
java.lang.IllegalArgumentException: Unsupported class file major version 63
    at org.objectweb.asm.ClassReader.<init>(ClassReader.java:196)
    at org.objectweb.asm.ClassReader.<init>(ClassReader.java:177)
    at org.objectweb.asm.ClassReader.<init>(ClassReader.java:163)
    at org.objectweb.asm.ClassReader.<init>(ClassReader.java:284)
    at net.md_5.specialsource.JarRemapper.remapClassFile(JarRemapper.java:268)
    at net.md_5.specialsource.JarRemapper.remapJar(JarRemapper.java:205)
    at net.md_5.specialsource.JarRemapper.remapJar(JarRemapper.java:178)
    at net.md_5.specialsource.mavenplugin.RemapMojo.execute(RemapMojo.java:214)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:137)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:210)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:156)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:148)
    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:957)
    at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:289)
    at org.apache.maven.cli.MavenCli.main(MavenCli.java:193)
    at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
    at java.base/java.lang.reflect.Method.invoke(Method.java:578)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:282)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:225)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:406)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:347)
    at org.codehaus.classworlds.Launcher.main(Launcher.java:47)

Doesn't Mojang specify a minimal version, or later? If so, why would jdk-1.19 not work?

OS: Ubuntu 22.04.2

JDK: openjdk-19-jre-headless:amd64 19.0.2+7-0ubuntu3~22.04

md-5 commented 1 year ago

The latest dev build supports up to Java 20, the Maven release does not. I will prepare a release soon

It is recommended you code plugins using Java 17, the latest LTS release and recommended Java version.

stolk commented 1 year ago

Ok, I tried the unreleased 1.11.1 instead, and that indeed works with Java 19.

Thank you!