Bem-vindo ao meu blog

Compartilhando conhecimento sobre tecnologia, programação e mais!

Executando JavaScript dentro do Java com GraalVM

Publicado em: 17 de August de 2025 | Categorias: Java
Executando JavaScript dentro do Java com GraalVM

O GraalVM é uma máquina virtual que vai além da execução tradicional do Java, permitindo rodar diversas linguagens dentro da JVM, como JavaScript, Python, Ruby, R e até C.

Isso abre espaço para cenários interessantes, como reaproveitar trechos de código JavaScript em uma aplicação Java ou permitir que sua aplicação execute scripts dinâmicos enviados por usuários.

Exemplo prático no Java

Aqui está um exemplo básico de como rodar JavaScript dentro do Java usando a API Polyglot do GraalVM:

     
     import org.graalvm.polyglot.*;

     public class RunJSFile {
         public static void main(String[] args) {
             // Criar contexto do GraalVM
             try (Context context = Context.create()) {
                 // Executar código JavaScript simples
                 Value result = context.eval("js", "40 + 2");
                 System.out.println("Resultado: " + result.asInt()); // Output: 42

                 // Executar função JavaScript
                 context.eval("js", """
                     function saudacao(nome) {
                         return 'Hello, ' + nome + '!;
                     }
                 """);

                 Value saudacao = context.getBindings("js").getMember("saudacao");
                 String mensagem = saudacao.execute("Felix").asString();
                 System.out.println(mensagem); // Output: Hello, Felix!
             }
         }
     }
     
 

Saída esperada

     
     Resultado: 42
     Hello, Felix!
     
 

Quando usar isso?

Essa técnica pode ser útil quando:

👉 Com esse recurso, sua aplicação Java ganha flexibilidade e consegue integrar código JavaScript sem depender de um engine externo, tudo rodando dentro da própria JVM com GraalVM.