問題タブ [fatjar]
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 - Maven - JARファイルからリソースをロードしますか?
Maven を使用して JAR ファイルにリソースをバンドルする場合、何か重大なことが欠けているように感じます。私のディレクトリ構造は標準のMavenのものです。
IDE を使用する場合、リソース ファイルを参照する\main\resources\public\images\path
と問題なく動作しますが、Maven css js と画像が機能せず、サイトの表示が悪くなります。jar ファイルを見ると、すべての css、js、およびイメージが見つかります。ブラウザで CSS リンクを開こうとすると、404 エラーが発生します。これが私の pom.xml https://shrib.com/#XGISjWGN7QRfa2EIZD4rです。日食では正常に動作します。Spark.staticFiles.location("public");
リソースをロードするために使用します。
osgi - JDK8 全体を OSGI バンドルに含め、JDK 9 (またはそれ以降) 環境で実行されている OSGI にデプロイします
私は OSGI に基づく AEM 開発者として何人か働いてきましたが、これが私の初歩的な (そして少し時代遅れの) アイデアの由来です。新しい仕事で、AEM とはまったく関係のないプロジェクトで、私がしなければならないことは次のとおりです。
- JDK8 に準拠したサードパーティ ライブラリに基づいてサービス ライブラリを構築する
- それらを、JDK9 以降で実行されている Tomcat に Spring Web アプリとしてデプロイします。
サードパーティ ライブラリはライセンス ソフトウェアであり、特定の法的な行き詰まりのためアップグレードできません。Java API の問題が原因で、JDK9 での単純なデプロイメントは失敗します。
理論的には、バンドルされた依存関係として JDK8 ランタイム全体を含め、それを JDK9+ 準拠の OSGI ランタイム フレームワークに OSGI バンドルとしてデプロイします。
これは潜在的に機能しますか?理論的には、各 OSGI バンドルが独自のクラスローダーを使用するため、これが成り立つため、Java API の問題が原因でサードパーティ ライブラリが破損することはありません。また、fat (uber) jar を作成するために maven を使用する予定です。
私を悩ませているもう 1 つの質問: JDK を含む uber-jar を作成することは問題ですか? 以前に uber-jar を作成したことがありますが、JDK もどのように含めるかわかりません。その一部は正しくないようです。なにか提案を?
みんな、ありがとう!