用VSCode运行GraalVM(Java/NodeJS版)

首先

    • VSCodeのGraalVM拡張を用いて以下のプログラムを動作させた話

Java (単純なHelloWorldと、JavaからJSのコードを呼び出す2パターン)
node.js (シンプルなWebアプリケーションを起動)

実行環境は以下の通り

Windows 10
GraalVM CE 22.3.1
VSCode 1.76.2

誤り等あれば、ご指摘いただけますと幸いです

创建环境

安装GraalVM

Installation on Windows PlatformsからGraalVMをインストールする

以降、C:\Program Files\graalvm に展開したものとして説明する

インストール後、環境変数PATHとJAVA_HOMEを以下の通り設定する

環境変数

PATH
C:\Program Files\graalvm\bin を追加

JAVA_HOME
C:\Program Files\graalvm

安装Java扩展的GraalVM工具。

undefined

3. Java的默认设置

undefined

環境檢查 (Java)

    • VSCodeのTERMINALにjava –versionと入力。GraalVMのJVMが表示される事を確認

 

    • openjdk 17.0.6 2023-01-17

 

    • OpenJDK Runtime Environment GraalVM CE 22.3.1 (build 17.0.6+10-jvmci-22.3-b13)

 

    OpenJDK 64-Bit Server VM GraalVM CE 22.3.1 (build 17.0.6+10-jvmci-22.3-b13, mixed mode, sharing

5. 环境确认(node.js)

    • VSCodeのTERMINALにnode –version:graalvm と入力。GraalVMの情報が表示されることを確認

 

    • GraalVM CE Native Polyglot Engine Version 22.3.1

 

    • Java Version 17.0.6

 

    • Java VM Version GraalVM 22.3.1 Java 17 CE

 

    • GraalVM Home C:\Program Files\graalvm

 

    • Installed Languages:

 

    JavaScript version 22.3.1

6. 创建工作区

C:\dev\GraalVMSampleフォルダを作成し、VSCodeのワークスペースとして開いておく

在Java中运行1(你好,世界)

1. 创建样本文件

VMSampleフォルダ直下にSample.javaを作成する

Sample.java
public class Sample {
public static void main(String[] args) {
System.out.println(“Hello world”);
System.out.println(“java.vm.vendor = ” + System.getProperty(“java.vm.vendor”));
}
}

2. 设定启动文件

image5.png

3. 进行操作

    • デバッグビューからRun and Debug -> Launch Java を実行する。

 

    • TERMINALに以下のように表示されればOK

 

    • Hello world

 

    java.vm.vendor = GraalVM Community

在Java中执行JS脚本 (运行Java中的JS)

1. 修正样本文件

    • VMSampleフォルダのSample.javaを以下のように修正する。

org.graalvm.polyglot.Context#createで、多言語の実行コンテキストを作成する。

Sample.java
+ import org.graalvm.polyglot.*;
public class Sample {
public static void main(String[] args) {
+ Context polyglot = Context.create();
+ Value array = polyglot.eval(“js”, “[1,2,42,4]”);
+ int result = array.getArrayElement(2).asInt();
System.out.println(“Hello java on GraalVM”);
System.out.println(“java.vm.vendor = ” + System.getProperty(“java.vm.vendor”));
+ System.out.println(“Array:” + array + “‘s 2nd element is ” + result);
}
}

2. 贯彻执行

    • デバッグビューからRun and Debug -> Launch Java を実行する。Javascriptの配列処理が行われている

 

    • Hello java on GraalVM

 

    • java.vm.vendor = GraalVM Community

 

    Array:(4)[1, 2, 42, 4]’s 2nd element is 42

运行node.js。

1. 制作样本文件

    • VMSampleフォルダ直下にApp.jsを作成する

App.js
http
.createServer(function (request, response) {
response.writeHead(200, { “Content-Type”: “text/html” });
response.end(“Hello Graal.js!”);
})
.listen(8000, function () {
console.log(“Graal.js server running at http://127.0.0.1:8000/”);
});

2. 启动文件的设置

launch.jsonにNodeJSの起動設定を追加する

launch.json
{
“version”: “0.2.0”,
“configurations”: [
{
“type”: “java”,
“name”: “Launch Java”,
“request”: “launch”,
“mainClass”: “${file}”
},
{
“type”: “graalvm”,
“request”: “launch”,
“name”: “Launch Node App”,
“outputCapture”: “std”,
“protocol”: “chromeDevTools”,
“program”: “${workspaceFolder}/App.js”
}
]
}

3. 进行

    • デバッグビューからRun and Debug -> Launch Node App を実行する。

 

    • 実行後、TERMINALに以下のように表示され、http://127.0.0.1:8000/にアクセスできればOK

 

    • Hello js on Graalvm

 

    Graal.js server running at http://127.0.0.1:8000/

请引用这段话。

 

bannerAds