問題タブ [runnable-jar]

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.

0 投票する
2 に答える
1190 参照

java - JavaFX を使用して jar からサウンドを再生すると、java.lang.NoClassDefFoundError が発生する

JavaFX の使用を推奨する投稿を見た mp3 ファイルからサウンドを再生できるようにしたいと考えています。MediaPlayer を実装し、JFXPanel を初期化しました。Eclipse では、すべてがうまく機能します。

しかし、実行可能な jar にエクスポートしてプログラムを実行しようとすると、次のエラー メッセージが表示されます。 java.lang.NoClassDefFoundError: javafx/scene/media/MediaException.

これは、新しい JRE バージョンで JavaFX が除外されているためだと思います (解決策を探しているときに遭遇しました)。私の主な質問は、JavaFX で jar を出荷するにはどうすればよいですか? jar を含める必要がありますか? はいの場合、どこで入手できますか? 私が間違っていなければ、EclipseはJavaFXを実行可能ファイルにパッケージ化していないようです。

これは、私にとって、すでにこの動作をトリガーしている例です。

ご協力ありがとうございました!

0 投票する
1 に答える
266 参照

java-websocket - tomcat-embed-websocket.jar がクラスパスにない場合、組み込みの Tomcat 8 を使用して Websocket コンテナを初期化するにはどうすればよいですか?

struts2 と websockets を使用する webapplication をホストする組み込みの tomcat を起動するために、実行可能な jar (依存関係あり) を使用しています。

アプリケーションは、Tomcatインストールで実行すると適切に動作しますが、前述の実行可能な jar から実行すると、websocket コンテナーが初期化されない404ため、対応するエンドポイントに接続しようとすると応答が返されます。

META-INF/Services/javax.servlet.ServerContainerInitializerサーバーのサービスを初期化するクラスを見つけるために、さまざまな jar ファイルを読み取る検出プロセスに問題を絞り込みました。特に、Websockets コンテナーを初期化するクラスはorg.apache.tomcat.websocket.server.WsSci.

私が見る限り、WsSciクラスはMavenアセンブリプラグインによって実行可能なjarに再パッケージ化されていますが、META-INF/Services/javax.servlet.ServerContainerInitializerファイルは元のjarのようにこのクラスについて言及しておらず、org.apache.jasper.servlet.JasperInitializer初期化子についてのみ言及しています。

実行可能なjarをそのままにして、クラスWebSockets Containerのメソッドを呼び出してプログラムで初期化を要求する方法はありますか? Tomcatまたは、ファイルで初期化を要求しweb.xmlますか?

注: 回避策として、実行可能な jar 内WsSciの新しいファイルにクラスを手動で追加すると、正しく初期化されることがわかりました。META-INF/Services/javax.servlet.ServerContainerInitializerWebsockets Containter

0 投票する
0 に答える
26 参照

java - サーバー上で上位バージョンのjarファイルを実行

バージョン 1.8 の jar ファイルがあり、それをサーバー上で実行したいと考えています。しかし、サーバーにはJavaバージョン1.7があります。

どうすればこれを修正できますか?