タグ付けされた質問 「maven-2」

Apache Mavenは、ソフトウェアプロジェクト管理および理解ツールです。これは、Mavenバージョン2.xに固有のMaven関連の質問のタグです。

5
Git無視とMavenターゲット
gitが管理するファイル構造内の特定のディレクトリのすべてのインスタンスを無視できるかどうかは誰でも知っています。 多くのサブモジュールを持つMavenプロジェクトのすべての「ターゲット」フォルダーを除外しようとしています。トップレベルの.gitignoreでそれらのそれぞれを明示的に除外できることはわかっていますが、実際に** / target / *のようなパターンを指定して、サブディレクトリのインスタンスを自動的に無視できるようにしたいですか? これは可能ですか?

5
Maven:ライブラリーによって追加された依存関係をオーバーライドする方法
これが私の一般的な問題です: 私のプロジェクトPは、バージョン1.0.1のDに依存するCに依存するBに依存するAに依存しています。 Dのバージョン1.0.1に問題があり、別のモジュールを強制的に使用したい。Dへの依存関係を直接追加していないため、プロジェクトのPOMでこれを宣言する方法がわかりません。Dへの依存を宣言したのはCです。 重要:この場合、バージョンだけでなく、グループとアーティファクトも変更されます。したがって、依存関係のバージョンをオーバーライドするだけでなく、モジュールを除外して別のモジュールを含めることも重要です。 具体的なケースでは、Dは1.0.1にバグがあるStAX です。バグのメモによると、「問題はstax-api-1.0.1(maven GroupId = stax)をstax-api-1.0-2(maven GroupId = javax.xml.stream)に置き換えることで解決された」ので、ちょうどそれを試みています。 したがって、D = stax:stax-api:jar:1.0.1およびC = org.apache.xmlbeans:xmlbeans:jar:2.3.0 必要に応じて、Maven 2.0.9を使用しています。 mvn dependency:treeの出力 mvn dependency:tree [..snip..] [INFO] +- org.apache.poi:poi-ooxml:jar:3.6:compile [INFO] | +- org.apache.poi:poi-ooxml-schemas:jar:3.6:compile [INFO] | | +- org.apache.xmlbeans:xmlbeans:jar:2.3.0:compile [INFO] | | | \- stax:stax-api:jar:1.0.1:compile 私のプロジェクトのPOMでは、「A」に次の依存関係があります。 <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.6</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> …

2
子モジュールを構築せずに親POMをインストールする
私はこの構造を持つMavenプロジェクトに親POMを持っています: parent | --------------- | | child1 child2 「親」の POMをローカルREPO にインストールして、child1がdependencyManagementで行った変更をいくつか許可できるようにしたいのですが、「child2」が壊れていてビルドされないため、通常の「クリーンインストール」を実行できません。 これは、mavenでこれを行う適切な方法です(親pomに移動して「child2」モジュールにコメントする以外)。
115 java  maven  maven-2  pom.xml 


8
Spring 3.0に含めるMaven依存関係はどれですか?
Spring 3.0(およびmaven)で最初のプロジェクトを実行しようとしています。かなりの数のプロジェクトでSpring 2.5(およびプライマーバージョン)を使用しています。それにもかかわらず、少し混乱しています。pom.xmlで依存関係として定義する必要があるモジュールは何ですか。コアコンテナー関数(beans、core、context、el)を使用したいだけです。 私はこれをするのに慣れていました: <dependency> <groupId>org.springframework</groupId> <artifactId>spring</artifactId> <version>2.5.6</version> </dependency> しかし、バージョン3.0用の完全にパックされたSpringモジュールはもうないので、今はちょっと混乱しています。私は以下を試しましたが、うまくいきませんでした(一部のクラスがありません)。 <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>3.0.0.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-expression</artifactId> <version>3.0.0.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> <version>3.0.0.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>3.0.0.RELEASE</version> </dependency> 何か助けていただければ幸いです!

6
別のプロファイルがアクティブになった場合でも、activeByDefaultであるMavenプロファイルをアクティブに保つ方法は?
私のpom.xmlにはプロファイルがあり、明示的に非アクティブ化しない限り、常にアクティブでなければなりません(-P!firstProfile)。activeByDefaultフラグを使用してこれを解決しました: <profiles> <profile> <id>firstProfile</id> <activation> <activeByDefault>true</activeByDefault> </activation> ... </profile> </profiles> これで、同じpom.xmlに2番目のプロファイルが定義されました。これは、プロファイルが実際にアクティブ化されている場合にのみアクティブになるはずです(-P secondProfile)。したがって、デフォルトの動作は、firstProfileがアクティブ、secondProfileが非アクティブです。別の時点で、最初のプロファイルに加えて2番目のプロファイルをアクティブ化したいと思います。ここでの問題は、 "-P secondProfile"を使用すると、残念ながらfirstProfileが非アクティブになることです。Mavenのドキュメントはこれを述べています: ...このプロファイルは、前述の方法のいずれかを使用して同じPOM内の別のプロファイルがアクティブ化されない限り、すべてのビルドで自動的にアクティブになります。デフォルトでアクティブになっているすべてのプロファイルは、POM内のプロファイルがコマンドラインまたはアクティブ化構成を介してアクティブ化されると、自動的に非アクティブ化されます。... どういうわけか、firstSettingsを常にアクティブにしておく方法(settings.xmlで宣言する必要なし)はありますか?
113 maven-2  maven  maven-3 

2
mavenのdistributionManagement組織全体を指定する方法は?
中央のネクサスリポジトリにデプロイできるように、多くの(約50以上の)maven2プロジェクトを整理する方法を理解しようとしています。mvn deploy目標を使用する場合は、次のようにdistributionManagementタグでターゲットを指定する必要があります。 <distributionManagement> <repository> <id>nexus-site</id> <url>http://central_nexus/server</url> </repository> </distributionManagement> 今、私は(50以上の)すべてのpom.xmlにこのブロックを何度も何度も含めたくありません。私の最初のsettings.xmlファイルですが、それを(仕様上)定義することはできないようです。それで、最初の質問は、なぜそうなるのでしょうか?可能であれば、すべての開発者に配布できるmaven2ディストリビューションのsettings.xmlで指定できます。 私が見つけた唯一の可能な解決策は、これらの設定を含む組織全体のmaster-pomプロジェクトを作成し、他のすべてのpom.xmlをこのmaster-pom via <parent>タグに依存させることでした。しかし、これはマルチモジュールビルドでは一種奇妙に見えます。 - master configuration POM (pm) - Project 1 parent pom (p1 with module 1 and module 2 as modules) - Project 1 module pom (with pm as parent) - Project 2 module pom (with pm as parent) 通常、私はすべてのドキュメントを読んで、pomモジュールが親pomを使用する必要があることを確認しました。しかし、継承v。集約についてのmaven …

3
親POMのプロファイルにすでに定義されているプラ​​グインの構成を上書きすることはできますか?
私のプロジェクトのPOM親ファイルには、このプロジェクトに役立ついくつかの構成を定義するプロファイルがあります(そのため、この親POMを削除できません)。 <profile> <id>wls7</id> ... <build> <plugins> <!-- use java 1.4 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <fork>true</fork> <source>1.4</source> <target>1.4</target> <meminitial>128m</meminitial> <maxmem>1024m</maxmem> <executable>%${jdk14.executable}</executable> </configuration> </plugin> </plugins> </build> ... </profile> しかし、私のプロジェクトでは、テストクラスのコンパイルにjdk4の代わりにjdk5を使用するために、maven-compiler-pluginの設定をオーバーライドしたいだけです。 私がプロジェクトのPOMでこのセクションを作成したのはそのためです。 <profiles> <profile> <id>wls7</id> <activation> <property> <name>jdk</name> <value>4</value> </property> </activation> <build> <directory>target-1.4</directory> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <executions> <execution> <id>my-testCompile</id> <phase>test-compile</phase> <goals> <goal>testCompile</goal> …


30
Eclipseプロジェクトに欠落しているMaven依存関係
依存関係を解決するためのプロジェクトがmavenでセットアップされています。通常は問題なく動作しますが、今は新しいPCでコンパイルして実行しようとしているため、Eclipseで依存関係が見つからないという問題があります。 面白いのは、コンソールまたはEclipseで「mvnパッケージ」を実行すると、問題なく動作し、必要なすべてのjarを含むwarが生成されることです。「ビルドパスが不完全なため、プロジェクトはビルドされませんでした。org.slf4j.Loggerのクラスファイルが見つかりません...」というEclipseだけが不平を言います。プロジェクトを他のコンピューターと比較すると(プロジェクトが正常に機能する場合)、Eclipseの「Maven依存関係」リストにかなりの数のライブラリーがないことがわかります。とはいえ、それらはパッケージ化された戦争にあり、リポジトリフォルダーの下にもあります。 したがって、jar-sが存在するのは、Eclipseがそれらすべてを「Maven依存関係」の下にリストしないためです。私に何ができる? コンピューターは、Windows 7で64ビットJavaとEclipseを実行しています。

18
親ディレクトリを示すMaven2プロパティ
次のようなマルチモジュールプロジェクトがあります。 main-project/ module1/ module2/ sub-module1/ sub-module2/ sub-module3/ ... module3/ module4/ ... Maven2で一連のプロパティ(プロジェクトをリリースする環境に依存する)を定義する必要があります。<properties>プロパティがたくさんあるので使用しません...したがって、プロパティMaven2プラグインを使用します。 プロパティファイルはmain-project/ディレクトリにあります。子にプロパティファイルの場所を指定するために、メインのpom.xmlに正しいディレクトリを設定するにはどうすればよいですか? <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>properties-maven-plugin</artifactId> <version>1.0-alpha-1</version> <executions> <execution> <phase>initialize</phase> <goals> <goal>read-project-properties</goal> </goals> <configuration> <files> <file>???/env_${env}.properties</file> </files> </configuration> </execution> </executions> </plugin> のみを設定すると<file>env_${env}.properties</file>、Maven2が最初のモジュールをコンパイルするときに、main-project/env_dev.propertiesファイルが見つかりません。を設定<file>../env_${env}.properties</file>すると、親レベルまたは任意のサブモジュールレベルでエラーが発生します...

5
Maven 2で考えられる目標をすべてリストしますか?
私は、Antの世界からやってきた、Mavenの初心者です。 実行できるすべての可能な目標(たとえば、すべてのプラグインを含む)をリストすることは可能ですか? -gMaven 1には以前はフラグがあったことがわかりますが、これはバージョン2では使用できません。
105 java  maven-2 

2
Mavenの「リアクター」とは何ですか?
私はMavenリアクターについて読んでいて、その用語の使い方に戸惑っています。マルチモジュールはリアクターであり、Mavenリアクターを操作でき、リアクターはプラグインであると読みました。リアクターとは正確には何ですか?

5
Mavenのpom.xmlからシェルコマンドを実行したい
LinuxシェルコマンドをMavenで実行したい。これが私が試したものです: <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>exec-maven-plugin</artifactId> <version>1.1.1</version> <executions> <execution> <goals> <goal>exec</goal> </goals> </execution> </executions> <configuration> <executable>hostname</executable> </configuration> </plugin>
105 maven-2 

5
バインドされた目標とともにライフサイクルフェーズを一覧表示するMavenコマンド?
私はMavenを学習しているだけなので、これは明白かもしれませんが、特定のプロジェクトの各Mavenライフサイクルフェーズに関連付けられている目標を一覧表示する簡単な方法を見つけることができません。 Mavenのデフォルトのライフサイクルフェーズと対応するデフォルトの目標がここに文書化されていることを確認しました。これまでの私の理解は、各pom.xmlが各ライフサイクルフェーズに追加の目標をバインドできることです。 では、特定のプロジェクトの各ライフサイクルフェーズで実行される目標を決定するmvnコマンドはありますか?そうでない場合、私はこれを理解するために、新しいmavenプロジェクトごとにpom.xmlを調べる必要があると思いますか?
104 maven-2  maven-3 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.