Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

221
Vistas
Use el motor de secuencias de comandos Javascript en Java 17

Tengo que mover un proyecto de Java 8 a Java 17.

Podría resolver la mayoría de los problemas, pero contiene un método en el que uso ScriptEngineManager para evaluar un término matemático.

 ScriptEngineManager mgr = new ScriptEngineManager(); ScriptEngine e = mgr.getEngineByName("JavaScript"); String t = "5*7"; if (isMathTerm(t)) { System.out.println(e.eval(t).toString()); }

En Java 8 funciona según sea necesario, pero en Java 17 e siempre es nulo.

Según Google, el motor de JavaScript ya no es compatible con Java 17.

Debido a las limitaciones del proyecto, no puedo usar bibliotecas de terceros.

¿Hay alguna forma adecuada de manejar esto en Java 17?

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Java 15 eliminó el motor JavaScript de Nashorn

Entonces necesita usar un motor de script diferente, como GraalVM

cambiar al motor de JavaScript GraalVM. Primero, agregue las dependencias requeridas a su proyecto.

 <dependency> <groupId>org.graalvm.js</groupId> <artifactId>js</artifactId> <version>22.0.0</version> </dependency> <dependency> <groupId>org.graalvm.js</groupId> <artifactId>js-scriptengine</artifactId> <version>22.0.0</version> </dependency>

Luego cambie el nombre del motor a graal.js.

 // Graal ScriptEngine graalEngine = new ScriptEngineManager().getEngineByName("graal.js"); graalEngine.eval("print('Hello World!');");

Puede verificar qué motores están disponibles usando

 new ScriptEngineManager().getEngineFactories();

O agregue diferentes motores de secuencias de comandos a su proyecto como velocidad, jexl, groovy,...

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda