問題タブ [maven-module]

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 投票する
2 に答える
3263 参照

maven - シングルモジュールとマルチモジュールのmavenプロジェクト

新しい Java Web プロジェクトを作成しています。この Web アプリケーションには、core/commons、ビジネス サービス、リポジトリ、セキュリティ、統合、ldap、ユーザー管理などの多くのモジュールが含まれます。各モジュールを Maven プロジェクト (jar ファイル) ごとに分離するか、プロジェクトを作成するかを検討します。すべてのモジュールのすべての Java パッケージを 1 つの Maven プロジェクトに含めます。

マルチモジュールプロジェクトとシングルモジュールプロジェクトのどちらをいつ適用するべきですか> アドバイスをお願いします。

0 投票する
3 に答える
8532 参照

java - Maven jetty プラグイン - マルチモジュール プロジェクトを使用した自動リロード

マルチモジュールの Maven プロジェクトを使用して、Java Web アプリケーションを開発しています。プロジェクトのセットアップは次のとおりです。

  • pom.xml次のモジュールを含むメインの maven プロジェクト:
    • persistence:エンティティ クラスと DAO
    • business:サービスの定義と実装
    • webapp:Apache ウィケット Web アプリケーション

webapp依存関係businessの階層は次のとおりですpersistence

また、Jetty Maven プラグインmvn -pl webapp jetty:runを使用して、メインのディレクトリ内でローカルに Web アプリケーションを実行していますpom.xml。アプリケーションを開発するとき、コードを変更するときに、jetty サーバーを再起動して、変更されたコード ファイルを自動的にリロードするようにしたいと考えています。これは、webappモジュール内のファイルを変更している場合は正常に機能しますが、別のモジュール内のファイルを変更している場合は機能しませpersistencebusiness

Maven Jetty プラグインは内部webapp/pom.xmlで次のように構成されます。

この回答の指示に従いました。or内の<scanTarget>ファイルを変更すると jetty が再起動されるため、タグは正常に機能します。ただし、変更されたファイルは jetty によってロードされないため、 は機能しません。リンクされた回答はタグを使用しています。ただし、プラグインのドキュメントで指定されているタグを使用しています (同じ結果につながる古いタグも試しました)。businesspersistence<extraClasspath><webAppConfig><webApp><webAppConfig>

私の質問は次のとおりです。他のモジュールから変更されたファイルをリロードするように、マルチモジュール プロジェクト用に Jetty Maven プラグインを構成する方法は?

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

java - Mavenでデフォルトで特定のライブラリを除外する方法は?

私はある種のフレームワークを書いており、使用する特定の機能を提供したいと考えていますlucene(ここでは、機能の例として lucene を取り上げます)。

したがって、私のフレームワークでは、機能を構築できるようにmavenlucene ライブラリを含める必要があります。dependency

ここで、すべての機能に対してサブモジュールを作成するのではなく、すべてを 1 つの jar ライブラリにまとめたいと考えています。また、ユーザーが lucene 機能を使用したい場合は、 を使用してアクティブ化することができSpring、maven で lucene ライブラリを含める必要もあります。

しかし、どうすればこれを達成できますか?これまでのところ、フレームワークに lucene ライブラリがあり、これを依存関係として使用すると、機能が使用されていなくても、自動的に lucene ライブラリもインポートされます。どうすればこれを防ぐことができますか?

0 投票する
0 に答える
138 参照

actionscript-3 - IntelliJ IDEAが認識できるようにMavenモジュール間でコードを共有する方法は?

ライブラリ プロジェクト (ActionScript で記述) があり、2 つのビルド出力があります。1 つはライブラリ A をインクルードして作成され、もう 1 つはライブラリ B をインクルードして作成されます。

私の目標は、このライブラリを Maven 化することであり、次の解決策を思いつきました。次のようなマルチ モジュール Maven プロジェクトがあります。

myLib-Mobile \- pom.xml myLib-Web \- pom.xml src \- main \- actionScript ...code is here pom.xml

親 pom.xml には、ビルド ターゲットに基づいて変化する 1 つの依存関係 (および FlexMojos コンパイラ (一方は AIR でビルドし、もう一方は Flash でビルドする必要があるため) を除く) を除くすべてが保持されます。コードは通常の場所にないため、子の pom ファイルで次のように定義します。

<build> <sourceDirectory>../src/main/actionscript</sourceDirectory> ...

<sourceDirectory>コンソールでビルドすると問題なく動作しますが、これを IntelliJ の Maven プロジェクトとしてインポートすると、ソース ファイルが見つかりません。タグに親ディレクトリへの参照がある場合、IntelliJ は処理できないようです。私が見つけた唯一の回避策は、プロジェクト設定でコンテンツ ルートを手動で指定することでした。

誰もがより良い解決策を知っていますか? モジュールを使用するのは適切ではないのでしょうか?

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

maven - Jenkins maven-project プラグインは、reactor モジュールの除外をサポートしていません

モジュールの除外を Jenkins maven プラグインで動作させることができません。以下の出力を参照してください。

コマンドを同じジョブのビルド前のシェル ステップにコピーすると機能します。

スタック トレースでは、hudson-maven エージェントが干渉していることがわかります。主な違いは次のとおりです。

  • ハドソンの使用org.codehaus.plexus.classworlds.launcher.Launcher.launchStandardとシェルの使用...launchEnhanced
  • hudson は失敗するorg.apache.maven.DefaultMaven.trimSelectedProjectsが shell は失敗する...trimExcludedProjects

完全なスタック トレースは次のとおりです。

ビルド前のステップで存在しないモジュールを意図的に除外しようとしたときの失敗スタック トレースと比較してください。

私も-pl !gotham/java/dev-server構文を使用してみましたが、同様の後にスペースを入れないplようにしました-pl!gotham/java/dev-server

注:これらの実行には小さな違いがあります。シェルから直接実行されUsing local repository at /home/jenkins/.m2/repositoryたものはそうですが、プラグインを介して実行されたものはそうではありません。何が原因かはわかりませんが、関連しているとは思えません

maven-project プラグイン v. 2.8 (最新) で Jenkins バージョン 1.540 を使用しています。