問題タブ [multi-release-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 投票する
0 に答える
95 参照

maven - Maven Shade には、マルチリリース依存関係の「META-INF/versions」が含まれていません

このプロジェクトでは、独自のアプリケーション コードのみを含む「スキニー」jar を作成し、maven シェード プラグインを使用して、アプリケーションの実行に必要な依存関係の JAR を作成します。Maven シェードは、複数の依存関係を同じ jar にパッケージ化するために使用されます。たとえば、jetty のすべての依存関係は 1 つの大きな にパッケージ化されjetty-full.jarます。現在、依存関係
の問題に直面しています。それ自体がマルチリリース jar であるorg.graalvm.jsかによって異なり、Java 11 のクラスが含まれています。Java 11 を使用しているため、これらのクラスが必要ですが、何らかの理由で maven shade プラグインによって除外されています。 関連するコードは次のとおりです。truffle-apiMETA-INF/versions/11
pom.xml

結果のMETA-INFjar には、次のフォルダーとファイルのみが含まれます。

  • アップグレード
  • サービス
  • ネイティブ イメージ
  • メイヴン
  • MANIFEST.MF (ファイル)

versionsフォルダがありません。
私は現在、copy-dependency代わりにプラグインを使用して単一のファイルをコピーしています。そこには、必要な Java 11 クラスをMETA-INF含むフォルダーが含まれています。 何か不足していますか、それとも影付きの jar から除外されているのはなぜですか?versions/11
META-INF/versions