問題タブ [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.
maven - シングルモジュールとマルチモジュールのmavenプロジェクト
新しい Java Web プロジェクトを作成しています。この Web アプリケーションには、core/commons、ビジネス サービス、リポジトリ、セキュリティ、統合、ldap、ユーザー管理などの多くのモジュールが含まれます。各モジュールを Maven プロジェクト (jar ファイル) ごとに分離するか、プロジェクトを作成するかを検討します。すべてのモジュールのすべての Java パッケージを 1 つの Maven プロジェクトに含めます。
マルチモジュールプロジェクトとシングルモジュールプロジェクトのどちらをいつ適用するべきですか> アドバイスをお願いします。
java - Maven jetty プラグイン - マルチモジュール プロジェクトを使用した自動リロード
マルチモジュールの Maven プロジェクトを使用して、Java Web アプリケーションを開発しています。プロジェクトのセットアップは次のとおりです。
pom.xml
次のモジュールを含むメインの maven プロジェクト:persistence:
エンティティ クラスと DAObusiness:
サービスの定義と実装webapp:
Apache ウィケット Web アプリケーション
webapp
依存関係business
の階層は次のとおりですpersistence
。
また、Jetty Maven プラグインmvn -pl webapp jetty:run
を使用して、メインのディレクトリ内でローカルに Web アプリケーションを実行していますpom.xml
。アプリケーションを開発するとき、コードを変更するときに、jetty サーバーを再起動して、変更されたコード ファイルを自動的にリロードするようにしたいと考えています。これは、webapp
モジュール内のファイルを変更している場合は正常に機能しますが、別のモジュール内のファイルを変更している場合は機能しませpersistence
んbusiness
。
Maven Jetty プラグインは内部webapp/pom.xml
で次のように構成されます。
この回答の指示に従いました。or内の<scanTarget>
ファイルを変更すると jetty が再起動されるため、タグは正常に機能します。ただし、変更されたファイルは jetty によってロードされないため、 は機能しません。リンクされた回答はタグを使用しています。ただし、プラグインのドキュメントで指定されているタグを使用しています (同じ結果につながる古いタグも試しました)。business
persistence
<extraClasspath>
<webAppConfig>
<webApp>
<webAppConfig>
私の質問は次のとおりです。他のモジュールから変更されたファイルをリロードするように、マルチモジュール プロジェクト用に Jetty Maven プラグインを構成する方法は?
java - Mavenでデフォルトで特定のライブラリを除外する方法は?
私はある種のフレームワークを書いており、使用する特定の機能を提供したいと考えていますlucene
(ここでは、機能の例として lucene を取り上げます)。
したがって、私のフレームワークでは、機能を構築できるようにmaven
lucene ライブラリを含める必要があります。dependency
ここで、すべての機能に対してサブモジュールを作成するのではなく、すべてを 1 つの jar ライブラリにまとめたいと考えています。また、ユーザーが lucene 機能を使用したい場合は、 を使用してアクティブ化することができSpring
、maven で lucene ライブラリを含める必要もあります。
しかし、どうすればこれを達成できますか?これまでのところ、フレームワークに lucene ライブラリがあり、これを依存関係として使用すると、機能が使用されていなくても、自動的に lucene ライブラリもインポートされます。どうすればこれを防ぐことができますか?
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 は処理できないようです。私が見つけた唯一の回避策は、プロジェクト設定でコンテンツ ルートを手動で指定することでした。
誰もがより良い解決策を知っていますか? モジュールを使用するのは適切ではないのでしょうか?
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 を使用しています。