Questions tagged «maven-2»

Apache Maven是一个软件项目管理和理解工具。这是针对Maven 2.x版的Maven相关问题的标记。

5
Git忽略和Maven目标
任何人都知道是否有可能忽略git管理的文件结构中特定目录的所有实例。 我正在寻找排除带有多个子模块的Maven项目中的所有“目标”文件夹。我知道我可以在顶级.gitignore中显式排除它们中的每一个,但是我真的很希望能够指定一个类似** / target / *的模式来让它自动忽略子目录中的实例? 这可能吗?

5
Maven:如何覆盖库添加的依赖项
这是我的一般性问题: 我的项目P依赖于A,后者依赖于B,后者依赖于C,后者依赖于D的1.0.1版本。 D的1.0.1版本存在问题,我想强制使用其他模块。我不知道如何在我的项目的POM中声明这一点,因为我没有直接添加对D的依赖。是C声明了对D的依赖。 重要:在这种情况下,不仅版本会更改,组和工件也将更改。因此,这不仅仅是覆盖依赖项版本的问题,而是排除一个模块并包含另一个模块的问题。 在具体情况下,D是StAX,其1.0.1有一个bug。根据错误中的注释,“通过用stax-api-1.0-2(maven GroupId = javax.xml.stream)替换stax-api-1.0.1(maven GroupId = stax)解决了问题”正在尝试。 因此,D = stax:stax-api:jar:1.0.1,C = org.apache.xmlbeans:xmlbeans:jar:2.3.0 我正在使用maven 2.0.9,以防万一。 mvn依赖项输出:树“ 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> <artifactId>poi-ooxml</artifactId> …

2
在不构建子模块的情况下安装父POM
我在Maven项目中有一个父POM,具有以下结构: parent | --------------- | | child1 child2 我想在本地REPO中安装“父”的POM,以允许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中将哪些模块定义为依赖项。我只想使用核心容器功能(bean,核心,上下文,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
即使激活了另一个配置文件,如何保持活动的Maven配置文件处于活动状态?
我的pom.xml中有一个配置文件,除非被明确停用(-P!firstProfile),否则该配置文件应始终处于活动状态。我通过使用activeByDefault标志解决了这个问题: <profiles> <profile> <id>firstProfile</id> <activation> <activeByDefault>true</activeByDefault> </activation> ... </profile> </profiles> 现在在同一个pom.xml中,我定义了另一个配置文件,只有在该配置文件确实被激活时,该配置文件才应处于活动状态(-P secondProfile)。因此,默认行为是:firstProfile处于活动状态,secondProfile处于非活动状态。在其他情况下,除了第一个配置文件外,我还想激活第二个配置文件。现在的问题是,如果我使用“ -P secondProfile”进行操作,那么不幸的是firstProfile被停用。Maven文档指出: ...除非使用上述方法之一激活同一POM中的另一个配置文件,否则此配置文件将自动对所有版本均有效。在命令行上或通过其激活配置激活POM中的配置文件时,默认情况下所有处于活动状态的配置文件都会自动停用。... 是否有某种可能如何使firstProfile始终保持活动状态(而不必在settings.xml中声明它)?
111 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通过<parent>tag 依赖于此master-pom 。但这在多模块构建中看起来有些奇怪: - 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) 通常我在所有文档中都读到,模块poms应该使用父pom,而不是其他一些。但是,在阅读了有关Inheritance …

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> 但是在我的项目中,我只是想重写maven-compiler-plugin的配置,以便使用jdk5而不是jdk4来编译测试类。 这就是为什么我在项目的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的战争。只有Eclipse抱怨“该项目未构建,因为它的构建路径不完整。找不到org.slf4j.Logger的类文件...”。如果将项目与其他计算机(项目可以正常运行)进行比较,我会注意到Eclipse中“ Maven依赖项”列表下缺少很多库。即使它们处于打包战争中,也可以在存储库文件夹下找到它们。 因此,罐子只是Eclipse不会在“ Maven依赖项”下列出它们。我能做什么? 计算机在具有64位Java和Eclipse的Windows 7上运行。

5
列出Maven 2中所有可能的目标?
我是Maven的新手,来自蚂蚁世界。 是否可以列出您可以运行的所有可能目标(包括所有插件)? 我可以看到-gMaven 1中曾经有一个标志,但是在版本2中不可用。
105 java  maven-2 


5
我想从Maven的pom.xml执行shell命令
我想用Maven执行Linux Shell命令。这是我尝试过的: <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 

18
指示父目录的Maven2属性
我有一个多模块项目,如下所示: main-project/ module1/ module2/ sub-module1/ sub-module2/ sub-module3/ ... module3/ module4/ ... 我需要在Maven2中定义一组属性(取决于我要发布项目的环境)。我不会使用,<properties>因为有很多属性...因此,我使用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命令列出生命周期阶段以及受限制的目标?
我只是在学习Maven,所以这可能很明显,但是我找不到一种简单的方法来列出给定项目的每个Maven生命周期阶段相关的目标。 我看到Maven默认生命周期阶段和相应的默认目标已在此处记录。到目前为止,我的理解是每个pom.xml可以将其他目标绑定到每个生命周期阶段。 因此,是否有mvn命令来确定将为给定项目在每个生命周期阶段运行的目标?如果没有,我想我只需要仔细检查每个新的Maven项目的pom.xml即可解决?
104 maven-2  maven-3 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.