InventivetalentDev / NickNamer

Spigot Name & Skin changer plugin
https://www.spigotmc.org/resources/5341
MIT License
104 stars 28 forks source link

Java version-error even when using 8+ #83

Closed Th3Shadowbroker closed 4 years ago

Th3Shadowbroker commented 5 years ago

What steps will reproduce the problem?

  1. Start the server

What were you expecting to happen? What happened instead?

Normal startup. Two exceptions where thrown that caused the plugin to disable itself. The second was caused by the first.

What version of the plugin are you using? Type /version <Plugin Name>

3.16.0-SNAPSHOT build from source not from the link from spigot.

What Spigot version are you using? Type /version

Dosen't matter as java.version is a env.-variable. But for the protocol ^^ I were using spigots final build for 1.12.2

What plugins are you using? Type /plugins

PlaceholderAPI, PacketListenerApi, NickNamer

Do you have an error log? Use pastebin.com. If you're not sure, upload your whole server log

Sure. https://pastebin.com/UkEkvHDY

Did your client crash? Upload errors in .minecraft/logs/latest.log as well

No

Additional information? (Are you using Bungeecord? Did it work in previous versions? etc.)

Just a question. I saw you changed one of the lines that caused the exception in 2d824ca. So I guess a similar problem occurred earlier. However, in my case the java version starts with a 1 followed by the "minor" version. Were you using another version that used another version format or is their a mistake on my site? In case it's not I'll leave a PR below :smile:

InventivetalentDev commented 5 years ago

I think the change you mentioned was in response to another similar issue detecting the wrong java version. What's the version format of your Java?

Th3Shadowbroker commented 5 years ago

Something like 1.8.0_152.

Edit: I just searched for other possible reasons and thought about OpenJDK and found this post http://openjdk.java.net/jeps/223 discussing the violation of the semantic version scheme. So I guess the reporting person used OpenJDK.

InventivetalentDev commented 5 years ago

Removed the runtime exception that keeps the plugin from starting, so hopefully this should work in any environment.

TjeerdvanDijk commented 4 years ago

this still happens. i'm using java 11 Java(TM) SE Runtime Environment 18.9 (build 11.0.5+10-LTS)

Th3Shadowbroker commented 4 years ago

Hi @Tinkot, I tried to replicate your problem. It looks like oracle changed their opinion on correct version-naming ^^

However, it looks like we have two problems here.

  1. The first problem is, that the latest release, was compiled with an older main-class which threw a RuntimeException when a version below java 8 was used. That exception was later removed by inventive (as you can see in 9b99a60dacd49458d24e942360ffae12ac7fa8a2) but no new release was created.

  2. The second problem is, that it looks like oracle changed their version-format. For comparsion:

    • Java 8 and lower: 1.8.0_231
    • Java 11+: 11.0.5

According to Line 185 in the plugins main-class the check is performed on the second number, as this number was the only one that changed in the past.