Tag: pom.xml

如何用没有版本的maven构build项目

在我的一个项目中,我需要构build一个没有版本的项目。 我有一个项目调用commonjerseylib当我通过使用maven构build它我得到commonjerseylib-1.0.war但我需要战争文件名commonjerseylib.war 我从pom中删除版本标签,但默认情况下,maven正在创build1.0版本。 先谢谢你 <modelVersion>4.0.0</modelVersion> <groupId>commonjerseylib</groupId> <artifactId>commonjerseylib</artifactId> <packaging>ear</packaging> <name>commonjerseylib</name> <!–<version>1.0</version>–>

M2E:版本是父版本的重复 – 为什么这是一个警告?

我有几个Maven项目,每个都有一些共同的function或至less共同的configuration/依赖项。 我把它解压到一个普通的pom.xml中,然后模块化了几个方面,例如持久化,Spring相关的依赖等等 – 所有这些都在它们自己的模块中,这些模块从这个父POMinheritance。 现在,“Common”是1.0.0版本,我有“ProjectA”,我想inheritance它。 我收到警告: 版本是父版本的重复 我不完全明白为什么这是一个警告。 我以为我可以select从我的项目POM中省略版本来inheritance版本。 (我为普通模块这么做 – 例如,普通弹簧为Spring应用程序添加了额外的通用依赖关系,事实上,ProjectA实际上是从普通弹簧inheritance的。) 难道不是那个 – 一个select? 如果我将我的ProjectA版本更改为1.0.1或2.0.0,一切正常。

缺less工件com.sun.jdmk:jmxtools:jar:1.2.1

我已经从Eclipse Indigo下的maven-achetype-quickstart创build了一个简单的项目,然后我去了pom.xml gui编辑器,并在依赖关系选项卡中通过search在适当的对话框中添加了依赖项log4j 。 现在我的pom.xml看起来像 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org xsd/maven-.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>mygroup</groupId> <artifactId>Test_Maven_03</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> <name>Test_Maven_03</name> <url>http://maven.apache.org</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.15</version> </dependency> </dependencies> <dependencyManagement> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> </dependency> </dependencies> </dependencyManagement> </project> Eclipse说我的POM有很多问题 缺less工件javax.jms:jms:jar:1.1 pom.xml / Test_Maven_03第2行Maven依赖关系问题 这是什么意思,以及如何看到自动jar下载的mavenfunction。 编辑1如果我selectlog4j 1.2.16而不是1.2.15,我得到另一个错误: Missing artifact log4j:log4j:bundle:1.2.16 。 […]

Maven备用pom

调用Maven构build时,是否有参数指定替代文件来代替标准的pom.xml文件名? 基本上,我需要用各种configuration来运行我的Maven构build的testing目标。 现在我不得不使用外部脚本来更新这个configuration的标准pom,然后恢复文件。 我宁愿只是能够维护几个单独的configuration文件,并与我需要的特定的一个调用maven。 我想知道的是,如果有一些方法来覆盖pom.xml如 mvn clean test (uses standard pom.xml) mvn clean test -Dmaven.source=alternate.xml mvn clean test -Dmaven.source=alternate2.xml 这可能吗?

pom xml中的依赖和插件标签之间maven有什么区别?

我不熟悉Maven工具,我已经用Spring和Hibernate做了一个项目,并且在pom.xml中将它们configuration为插件,但是JUnit被标记为依赖项。 我的问题是作为一个插件和一个依赖关系背后的逻辑是什么?

Maven:包含在公共存储库中找不到的jar

如果我要使用不在maven公共存储库中的第三方库,将其作为依赖项包含在我的项目中的最好方法是什么,以便当其他人检出我的代码时,它仍然能够构build? 即 我的应用程序“A”依赖于公共存储库中不存在的jar“B”。 但是,我希望将“B”作为对“A”的依赖,这样当世界另一端的人可以检查代码并且仍然能够build立“A”

Maven:这个项目的包装没有给构build工件分配一个文件

我在Mac 10.6.6上使用Maven 3.0.3。 我有一个JAR项目,当我运行命令“mvn clean install:install”时,我得到错误, [ERROR] Failed to execute goal org.apache.maven.plugins:maven-install-plugin:2.3.1:install (default-cli) on project StarTeamCollisionUtil: The packaging for this project did not assign a file to the build artifact -> [Help 1] 这是什么意思,我该如何解决? 以下是我的pom.xml。 让我知道其他信息将是有益的,我会编辑这个职位。 谢谢,戴夫 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.myco.starteam.util</groupId> <artifactId>StarTeamCollisionUtil</artifactId> <packaging>jar</packaging> <name>StarTeam Collision Util</name> <description> The StarTeam Collision Utility provides […]

有没有办法在全球范围内排除Maven依赖关系?

我试图find一个“通用”的方式排除一个传递依赖从被包含而不必排除它依赖于它的所有依赖。 例如,如果我想排除slf4j,我做了以下操作: <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-jmx</artifactId> <version>3.3.2.GA</version> <exclusions> <exclusion> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-entitymanager</artifactId> <version>3.4.0.GA</version> <type>jar</type> <exclusions> <exclusion> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> </exclusion> </exclusions> </dependency> 这部分是为了清理pom文件,部分是为了避免将来出现问题,人们添加依赖于排除依赖的依赖,而忘记排除依赖。 有没有办法?

在Nexus中部署工件时出错

林'在我的自己的存储库中部署工件在Nexus服务器时出现错误:“无法部署工件:无法传输工件”“无法传输文件http:/// my_artifact。返回代码是:400” 我有Nexus运行一个自定义存储库my_repo与下一个maven本地configuration: 的settings.xml <server> <id>my_repo</id> <username>user</username> <password>pass</password> </server> … <mirror> <id>my_repo</id> <name>Repo Mirror</name> <url><my_url_to_my_repo></url> <mirrorOf>*</mirrorOf> </mirror> 用户有权创build/读/写入my_repo – 的pom.xml <distributionManagement> <repository> <id>my_repo</id> <name>my_repo</name> <url><my_url_to_my_repo></url> <layout>default</layout> </repository> <snapshotRepository> <id>snapshots</id> <name>Snapshots</name> <url><my_url_to_my_snapshot_repo></url> </snapshotRepository> </distributionManagement> 然后我执行 mvn deploy 并得到错误。 任何想法?

无论如何排除从父POMinheritance的工件?

可以通过在<dependency>声明一个<exclusions>元素来排除依赖关系中的工件。但是在这种情况下,需要排除从父项目inheritance的工件。 正在讨论的POM的摘录如下: <project> <modelVersion>4.0.0</modelVersion> <groupId>test</groupId> <artifactId>jruby</artifactId> <version>0.0.1-SNAPSHOT</version> <parent> <artifactId>base</artifactId> <groupId>es.uniovi.innova</groupId> <version>1.0.0</version> </parent> <dependencies> <dependency> <groupId>com.liferay.portal</groupId> <artifactId>ALL-DEPS</artifactId> <version>1.0</version> <scope>provided</scope> <type>pom</type> </dependency> </dependencies> </project> base工件,取决于javax.mail:mail-1.4.jar ,而ALL-DEPS依赖于同一个库的另一个版本。 由于执行环境中存在来自ALL-DEPS mail.jar ,虽然没有被导出,但是与父节点上存在的mail.jar发生冲突,其范围为compile 。 一个解决scheme可能是从父POM中删除mail.jar,但是大部分inheritancebase的项目都需要它(因为是log4j的一个transitive依赖项)。 所以我想要做的就是简单地将父库从子项目中排除 ,因为如果base是依赖关系而不是父项目 ,那么可以这样做: … <dependency> <artifactId>base</artifactId> <groupId>es.uniovi.innova</groupId> <version>1.0.0</version> <type>pom<type> <exclusions> <exclusion> <groupId>javax.mail</groupId> <artifactId>mail</artifactId> </exclusion> </exclusions> </dependency> …