問題タブ [jwrapper]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Linux システム上の JWrapper アイコン
一部のデスクトップ アプリの展開には JWrapper を使用しています。私は、JWrapper の使いやすさと提供する機能に非常に感銘を受けていると言わざるを得ません。
私たちは主に Linux 環境で開発を行っていますが、クライアントは主に Windows を使用しています。Java 8 を使用したデスクトップ アプリに JavaFX を使用しています。 Java 8 を使用しているのは、JavaFX とうまく連携し、Date Chooser などは Java 8 以降でしか利用できないためです。
JRE-1.7 バンドルを使用して JWrapper の機能をテストするためのサンプル アプリを作成した後、Linux、Windows、および Mac でアイコンがすべてうまく機能しました。
私たちのデモ アプリでは、JWrapper 用に Java 8 をバンドルする必要がありました。すべて正常に機能し、アプリはどこにでもインストールされ、インストール後に起動されましたが、Linux (Ubuntu) では Dash にアイコンが表示されませんでした。~./local フォルダーで .desktop ファイルを検索したところ、サンプル アプリの .desktop ファイルしか見つかりませんでした。
JWrapper フォーラムで同様の問題を探したところ、同様の問題に言及しているフォーラムが見つかりましたが、その質問は注目されず、JWrapper は 1、2 日前にフォーラムを廃止し、stackoverflow を使用することにしました。フォーラムでの質問は次のとおりです: http://www.jwrapper.com/old-forum.html#nabble-td209
これにより、Linux 上の JWrapper と Java 8 には非互換性があるという結論に至りました。Java 8 はまだ新しく、JWrapper の善良な人々によってまだバンドルおよびテストされていないことを理解しています。(興味があれば、私はこれについて私の助けを提供します)
Linux システム用のアイコン (.desktop ファイル) の作成を JWrapperPostInstallApp に書き込むことはできますが、それは回避策にすぎません。何か不足していますか?誰かがすでに機能している回避策を持っていますか?
java - JWrapper を使用して Java アプリケーションを構築する
以下の点についていくつかの入力が必要です。前もって感謝します。
Mac バージョンの JWrapper を使用してプロジェクトをデプロイしました。
最新のアップグレード インストールでは、(他の Mac OS からの) 更新された jar ファイルを置き換えて、差分更新を確認しようとしました。
アプリケーションの実行が停止し、「暗号化されたデータの整合性チェックに失敗しました」などの例外が発生します。
これで私が理解しているのは、JWrapper によって行われたパッケージの各バージョンに追加されたチェックサムがあるということです。
その場合、差分更新をサポートするために (クライアントの場所にある) jar のみを置き換える方法。
他に情報が必要な場合はお知らせください。
java - JWrapper の JRE バージョン要件は何ですか?
オンラインの JWrapper インストーラーでシステム JRE を使用できるようにしようとしていますが、常に JRE をダウンロードすることになり、1 日に数十 GB のダウンロード トラフィックが発生します。ログに次のログ メッセージが表示されます。
では、6 つの JRE バージョン要件とは何ですか? また、インストーラーが使用する unpack200 実装を提供することは可能ですか?
java - wrapper-00031607960 は Windows と Linux で動作し、アプリは Mac では起動されませんが、jnlp は動作します
JWrapper は、Windows と Linux (すべてのプラットフォームで jre1.8.0_25 を使用して展開しています) では完全に動作するようですが、Mac ではアプリケーションは問題なく解凍されます。インストーラーは強制スポーンが 0 であることについて (ログ ファイルで) つぶやくため、私の jwrapper.xml が true であるにもかかわらず、JNI を使用して起動します。jnlp ファイルを使用するか、ブラウザにインストールされた Java を使用して jnlp ファイルを javaws するシェル スクリプトを使用して、JNLP を介してアプリを実行すると、アプリは問題なく実行されます。作成したアプリの URL、jnlp URL、jwrapper.xml、および実行中に生成されたログ ファイルを以下に貼り付けました。
-------------------- jwrapper化版のダウンロードURL ---------------
--------------------- jnlpへのURL --------------------
---------------------- jwrapper xml -------------------------- --
----------------------- Mac での起動ログファイル ---------------------- ----
java - jwrapper が META-INF ディレクトリでチョークする
プロジェクトで jwrapper を試すと、次のように失敗します。
アプリケーションjarにはこれがあります:
問題は何でしょうか?
pack200 をスタンドアロンで実行すると、同じエラーがスローされます。META-INF/services の何が特別なのかわかりません。他の多くのディレクトリはエラーなしで処理されます。
アップデート:
unzip に「verbose」フラグがあることがわかりました。これは、この奇妙な点を明らかにしています。
META-INF/services/ を除くすべてのディレクトリは「保存済み」とマークされています。ただし、理由や方法はわかりません。
java - jwrapper コマンドライン アプリ
ダブルクリックまたはコマンド ラインで起動できるアプリをパッケージ化する必要があります。ただし、Jwrapper はアプリをバックグラウンドで実行し、大量のログ情報を端末にダンプし、stdout をログ ファイルに送信するため、コマンド ラインでは使用できません。
これを制御する方法はありますか?おそらく特定の仮想アプリで?
アップデート:
jar は、コンソールに出力する --help や --version などの多くのコマンドライン スイッチと、ソケットを介してアプリと通信するディレクティブをサポートしています (たとえば、「実行中のアプリに、次のファイルをロードするように指示します。道")。これらはスクリプティングとデバッグ用であるため、必ずしも「ダブルクリックして実行」するユーザーと同じ対象者とは限りません。したがって、フォールバックは、そのようなユーザーに jvm + jar を手動でインストールするよう要求することです。
フォークしたり、コンソールに出力したり、出力をファイルに直接出力したりしない軽量のラッパーをインストールできますか? たとえば、バンドルされている jvm を実行して、jar とメイン クラスを渡すだけですか?
アップデート2:
または、フォーク、ラッパーからのコンソール出力、および出力のリダイレクトを防ぐためのコマンドラインスイッチの方がよいでしょう。