問題タブ [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.

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

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");リソースをロードするために使用します。

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

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 もどのように含めるかわかりません。その一部は正しくないようです。なにか提案を?

みんな、ありがとう!