Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

215
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!