JavaFX z Arią - powrót do strony głównej

Listowanie silników skryptowych (Java)

Java Scripting API (JSR-223) jest w JDK od dawna. Dawniej było częściej używane, gdyż częścią JDK był język Rhino, potem Nashorn z dodatkowym narzędziem linii poleceń jjs. Aktualnie JDK 19 nie posiada żadnego dedykowanego języka skryptowego, ale nadal może być używane z językami skryptowymi kompilowalnymi do kodu bajtowego JVM.

Jednym z takich języków, który jest jednocześnie językiem skryptowym jest język Apache Groovy.

Tutaj pracujemy w projekcie IntelliJ IDEA, z JDK 19, z dodaną biblioteką Groovy 4.0.6. Listujemy wszystkie silniki skryptowe obecne w JDK.

Projekt na razie wygląda tak:

Struktura projektu

module-info.java
module jsr223groovy {

    requires org.apache.groovy;

    requires java.scripting;
    requires java.sql;
}
E01_EngineListing.java
package jsr223groovy;

import java.util.List;
import javax.script.ScriptEngineFactory;
import javax.script.ScriptEngineManager;

public class E01_EngineListing {
	public static void main(String[] args) {
		ScriptEngineManager sem = new ScriptEngineManager();
		List<ScriptEngineFactory> lista = sem.getEngineFactories();
		for (ScriptEngineFactory f : lista) {
			System.out.println("Nazwa silnika: " + f.getEngineName());
			System.out.println("Wersja silnika: " +  f.getEngineVersion());
			System.out.println("Rozszerzenia plików: " + f.getExtensions());
			System.out.println("Nazwa języka: " + f.getLanguageName());
			System.out.println("Wersja języka: " + f.getLanguageVersion());
			System.out.println("Nazwy skrócone: " + f.getNames());
			System.out.println("Typy MIME: " + f.getMimeTypes());
			System.out.println("----------------------------");
		}
	}
}

Po uruchomieniu klasy na konsoli zobaczymy

Nazwa silnika: Groovy Scripting Engine
Wersja silnika: 2.0
Rozszerzenia plików: [groovy]
Nazwa języka: Groovy
Wersja języka: 4.0.6
Nazwy skrócone: [groovy, Groovy]
Typy MIME: [application/x-groovy]
----------------------------