問題タブ [maven-assembly-plugin]
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.
maven-2 - Maven アセンブリ プラグインを使い始める際の問題
ここで無知に聞こえて申し訳ありませんが、私はMavenを初めて使用し、非常に単純であると確信しているものに頭を悩ませてきました。
ドキュメントは言う:
[...] プロジェクトは、ルート ディレクトリにあるプロジェクトの JAR アーティファクト、lib/ ディレクトリにあるランタイム依存関係、およびスタンドアロン アプリケーションを起動するためのシェル スクリプトを含む ZIP アセンブリを生成できます。
それはまさに私がやりたいことです!しかし、私はそれを実現できないようです。
私のPOMは次のとおりです。
参照された dist.xml は次のようになります。
これにより、zipファイルで必要なレイアウトが実現されます(ただし、正しい方法でそこに到達していないことは確かです)が、2つのjarファイルtarget/
(1つはzipアーカイブに、もう1つはルートにあります)を取得し、どちらも取得しませんそれらの結果には、私の mainClass エントリが含まれていますMANIFEST.MF
。
を「pom」に変更するproject.packaging
と、これは正しいかもしれませんが、もちろん余分な jar (のルートにある)target/
は消えますが、次の警告が表示されます。
...そして実際、私のアーティファクトはアーカイブになく、まだエントリが追加されていませんMANIFEST.MF
。
初心者を助ける時間がある人はいますか?
maven - Maven ですべての依存関係を含む zip を作成する
重複の可能性:
Maven を使用して、プロジェクトの jar とすべての依存 jar を含む配布可能ファイルを作成するにはどうすればよいですか?
盲目かもしれませんが、maven アセンブリ プラグインは、現在の project.jar とすべての依存関係の jar を含む zip ファイルを作成できますか? 「bin」IDには私のproject.jarだけが含まれ、jar-with-dependenciesはすべてを1つのjarにまとめますが、これは私が好きではありません。
maven - Maven には、プラグイン構成用の別の pom が含まれています
maven pomに別のpomまたは情報を含める方法はありますか?
基本的に関係のない、または異なる親ポンムを持つポンポンがいくつかあります。ただし、パッケージ化するには、すべてのプロジェクトと同一のマニフェストが必要です。
だから現在、私はpomにあります:
などなど
この構成をすべての pom に貼り付けることは避けたいと思います。
では、継承なしでプラグインの構成を共有するにはどうすればよいでしょうか?
ありがとう
deployment - Maven アセンブリ プラグインがデプロイできない war ファイルを生成する
Spring、Hibernate、GWT、および Maven 3 を使用してマルチモジュール プロジェクトに取り組んでおり、war ファイル ディストリビューションをサーブレット コンテナー (できれば Tomcat 7 または Jetty 8) にデプロイしようとしています。maven-assembly-plugin 2.2.1 を使用して war ファイルを作成します (maven 3 を実行しています)。Maven ビルド中、すべてが完全に機能し、配布アーカイブが作成されます。
しかし、war ファイルをデプロイしようとすると、すべてが整っていますが (Web-inf/lib など pp.)、ClassNotFound-Exceptions (Spring ContextLoaderListener など) が発生します。そのため、webapp は起動していません。次に、war-file をサーブレット コンテナの webapp ディレクトリに解凍すると、すべて正常に動作しています... ??
さらに調査した結果、次のことがわかりました。maven-war-plugin (!) によって作成された任意の war ファイル A' を取得した場合、そのコンテンツを、maven-assembly-plugin を使用して作成した war ファイルから展開されたコンテンツに置き換えます (これを A としましょう。) 2 つのことが起こっていることがわかります。
- 結果の war ファイル A' は、内容は同じですが、元のファイル A よりも数バイト小さくなっています。
- A' の展開は突然魔法のように機能します
これは奇妙で、何が起こっているのかまったくわかりません。おそらく問題があり、maven-war-plugin と maven-assembly-plugin は war ファイルのパッケージ化を異なる方法で処理しますか?! つまり、戦争は、事前定義された構造を持つ名前が変更されたzipファイルにすぎません...おそらく、mavenとはまったく関係ありませんが、ファイルエンコーディングなどとは関係ありませんか? これに関するアイデアはありますか?これを調査するのに役立つヒントをいただければ幸いです...
これは私のアセンブリ記述子です
performance - maven-assembly-plugin を高速化できますか?
私はmavenマルチモジュールプロジェクトを持っています。最終的な目標は、配布用に tarball と RPM でビルドするすべてのライブラリなどをまとめることです。この目標は maven-assembly-plugin を使用しており、通常は総ビルド時間の 4 分の 1 から 2 分の 1 の時間がかかります。
Maven にマルチスレッドを実行するように既に指示していると思います (ただし、私は肯定的ではなく、確認方法もわかりません)。解凍/再梱包を高速化するためにできる他の最適化はありますか? より強力なマシンを使用するだけの問題ですか?私たちのプロジェクトはそれほど大きくないように見えますが(最終結果は ~70-80 MB)、その 1 つのフェーズだけで 1 分以上かかります。
maven - Maven アセンブリ パターン マッチング
ファイルセットのパターンに問題があります。この明示的なアセンブリは次のように機能します。
しかし、もっと一般的な解決策が必要です
「d1で終わるディレクトリ」を意味することを望んでいたワイルドカードを使用すると、
次のように、ディレクトリとインクルードの複数の組み合わせを試しました
と
同じエラーで。
plugins - Maven アセンブリ プラグインは、コンパイル フェーズ中にファイルを上書きしません
Maven アセンブリ プラグインを定義し、「コンパイル」フェーズでプラグイン (assembly.xml) を実行するように pom を設定しました。assembly.xml - 「dependencySet」を使用して jar/ファイルを取得し、「fileSet」を使用していくつかのファイルをローカル セットに置き換えます。
Maven アセンブリ プラグイン 2.2 ベータ 2 では、ファイルが置き換えられます。アセンブリ プラグインのバージョン 2.2 または 2.2.1 では、a) 「既に追加されています、スキップしています」と表示され、上書きされません。b)フェーズをpomで「コンパイル」ではなく「リソースの生成」に変更すると、「すでに追加されています、スキップしています」というメッセージが表示され、とにかくファイルが置き換え/上書きされます。
バージョン間で何が変更されたのか、フェーズ変更によって機能する理由を知りたいです。また、誰かが「コンパイル」段階で正確に何が起こるかを説明できると助かります(上書きされません)。私の問題の回避策はありますか?
助けてくれてありがとう!
スニペットが含まれています:
plugins - Maven「アセンブリの作成に失敗しました」問題
私は非常に単純なアセンブリ記述子を使用します。
しかし、私は常に次のエラーを受け取ります:「アセンブリの作成に失敗しました:アセンブリアーカイブテストの作成中にエラーが発生しました:少なくとも1つのファイルを設定する必要があります」-eでmavenを実行すると、このメッセージも表示されます
しかし!「tools」ディレクトリに転送されたファイル!エラーが発生する理由がわかりませんが、ファイルはディレクトリにあります...「mvn assembly:single」ゴールを使用します
誰かがそれを説明してみてください:)私は他のモジュールでもアセンブリプラグインを使用していますが、かなりうまく機能します。
classpath - 実行可能jarファイルでのクラスパスの設定を支援する
すべての依存関係を持つmaven-assembly-pluginを使用して実行可能jarをビルドしようとしています。jar内の/lib/ディレクトリに依存関係があり、メインjarが外部にあり、構成ファイルがメインjarの同じレベルにある必要があります。
私のpom.xmlは次のとおりです。
packagejar.xmlは次のとおりです。
そして、結果のmanifest.mfファイルは次のとおりです。
これにより、メインクラスを実行できますが、動作する必要のあるlib内のjarが見つかりません。おそらく私は何か基本的なものが欠けています。また、pom.xmlマニフェストエントリにlib / 、lib / .jar、/ lib、および/lib/を追加してみました。
何か案は?
前もって感謝します。