問題タブ [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.
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を実行可能ファイルにパッケージ化していないようです。
これは、私にとって、すでにこの動作をトリガーしている例です。
ご協力ありがとうございました!
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.ServerContainerInitializer
Websockets Containter
java - サーバー上で上位バージョンのjarファイルを実行
バージョン 1.8 の jar ファイルがあり、それをサーバー上で実行したいと考えています。しかし、サーバーにはJavaバージョン1.7があります。
どうすればこれを修正できますか?