Javaアプリケーションの実行

デスクトップアプリをウェブアプリに変換する

CheerpJは、ほとんど変更を加えずにブラウザでJavaアプリケーションを実行できます。このページでは、CheerpJを使用して最初のJavaアプリケーションをブラウザで実行する方法を説明します。

JavaソースコードはCheerpJを使用するために必要ありません。独自のアプリケーションを構築している場合、その.jarファイルをすでに持っているはずです。

始めるために必要なもの:

  • Javaアプリケーションファイル。こちらのTextDemo.jarサンプルも使用できます。
  • JavaアプリをラップするHTMLファイル
  • ウェブページをローカルでテストするための簡単なHTTPサーバー

1. プロジェクトディレクトリの作成

まず、すべてのファイルを置くプロジェクトフォルダーを作成します。Javaファイルと将来のHTMLファイルをここにコピーしてください。

Terminal window
mkdir directory_name

2. 基本的なHTMLファイルの作成

次に、以下の例のような基本的なHTMLファイルを作成します。CheerpJランタイム環境が統合され、初期化されていることに注意してください。この例では、HTMLファイルと.jarファイルが先ほど作成したプロジェクトディレクトリにあると仮定しています。

index.html
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>CheerpJ test</title>
<script src="https://cjrtnc.leaningtech.com/3.1/cj3loader.js"></script>
</head>
<body>
<script>
(async function () {
await cheerpjInit();
cheerpjCreateDisplay(800, 600);
await cheerpjRunJar("/app/my_application_archive.jar");
})();
</script>
</body>
</html>

代わりに、アプリケーションがjava -jarコマンドで実行されるように設計されていない場合は、cheerpjRunJar()cheerpjRunMain()に置き換え、修飾クラス名を引数として渡すことができます。例えば:

cheerpjRunMain(
"com.application.MyClassName",
"/app/my_application_archive.jar:/app/my_dependency_archive.jar"
);
/app/プレフィックスを使用することを忘れないでください
初めてのユーザーがアプリケーションの場所をcheerpjRunJar()やcheerpjRunMain()に渡すときに、プレフィックス「/app/」を追加し忘れることがよくあります。

3. ページをホストする

これでhttp-serverユーティリティのようなシンプルなHTTPサーバーで、このウェブページを提供できるようになります。

Terminal window
npx http-server -p 8080
ページをディスクから直接開く(例えば、ダブルクリックする)ことはサポートされていません。

何が起こっているのか?

  • <head>スクリプトがCheerpJを読み込みます。
  • cheerpjInitがCheerpJランタイム環境を初期化します。
  • cheerpjCreateDisplayがすべてのJavaウィンドウを含むグラフィカル環境を作成します。
  • cheerpjRunJarがアプリケーションを実行します!
  • /app/は、このページがロードされているウェブサーバーのルートを参照する仮想ファイルシステムマウントポイントです。

結果

ブラウザにCheerpJディスプレイが表示され、いくつかの読み込みメッセージの後にアプリケーションが実行されるのが見えます。アプリケーションと適用された最適化に応じて、数秒しかかからないかもしれません。

アプリケーションが動作しない場合

以下のチェックを試してください:

  • cheerpjRunJarまたはcheerpjRunMainに渡すときにプレフィックス/app/が追加されていることを確認します。詳細については仮想ファイルシステムガイドを参照してください。
  • JavaアプリケーションがCheerpJなしで正常に動作することを確認します。
  • ページをダブルクリックで開かず、http-serverを使用していることを確認します。

さらに読む

このページは役に立ちましたか?
ページの変更を提案する