superblaubeere27/obfuscator

add java 16 support

hrenacher228 opened this issue · 3 comments

add java 16 support

I think JDK 17 is affected as well. This is the outcome when I launch it via CLI:

$ java -jar obfuscator-1.9.3.jar --jarIn target/myapp-SNAPSHOT.jar --jarOut target/myapp-obfuscated.jar
        _      __                     _
       | |    / _|                   | |
   ___ | |__ | |_ _   _ ___  ___ __ _| |_ ___  _ __
  / _ \| '_ \|  _| | | / __|/ __/ _` | __/ _ \| '__|
 | (_) | |_) | | | |_| \__ \ (_| (_| | || (_) | |
  \___/|_.__/|_|  \__,_|___/\___\__,_|\__\___/|_|
   v1.9.3 by superblaubeere27 (LATEST)


+------------[ Configuration ]------------+
| Input:      target/myapp-SNAPSHOT.jar   |
| Output:     target/myapp-obfuscated.jar |
| Config:     null                        |
+-----------------------------------------+

+--------------------[ WARNING ]--------------------+
|    You didn't specify a configuration, so the     |
|  obfuscator is using the default configuration.   |
|                                                   |
|  This might cause the output jar to be invalid.   |
| If you want to create a config, please start the  |
| obfuscator in GUI Mode (run it without cli args). |
|                                                   |
|         The program will resume in 2 sec          |
+---------------------------------------------------+

Failed to load script
java.lang.IllegalStateException: Failed to compile Script
	at me.superblaubeere27.jobf.utils.script.JObfScript.<init>(JObfScript.java:29)
	at me.superblaubeere27.jobf.JObfImpl.processJar(JObfImpl.java:223)
	at me.superblaubeere27.jobf.JObf.main(JObf.java:231)
Caused by: java.lang.NullPointerException: Cannot invoke "javax.script.ScriptEngine.eval(String)" because "this.jsEngine" is null
	at me.superblaubeere27.jobf.utils.script.JObfScript.<init>(JObfScript.java:27)

This is the reason: https://openjdk.java.net/jeps/372
Nashorn javascript engine is gone starting from JDK 15