Java 使用Maven版本插件
使用以下命令行: mvn版本:解锁快照依赖项:复制依赖项 我在dependency文件夹中获取所有snapshot jar,其名称为snapshot.jar 为什么我在将我的项目打包成战争时没有得到相同的行为? 我得到的不是mylibs-modules-1.0-SNAPSHOT.jar,而是递增的数字 已编辑Java 使用Maven版本插件,java,maven,build,war,Java,Maven,Build,War,使用以下命令行: mvn版本:解锁快照依赖项:复制依赖项 我在dependency文件夹中获取所有snapshot jar,其名称为snapshot.jar 为什么我在将我的项目打包成战争时没有得到相同的行为? 我得到的不是mylibs-modules-1.0-SNAPSHOT.jar,而是递增的数字 已编辑 <project> <modelVersion>4.0.0</modelVersion> <artifactId>mylibs</a
<project>
<modelVersion>4.0.0</modelVersion>
<artifactId>mylibs</artifactId>
<packaging>war</packaging>
<version>3.4</version>
<parent>
<groupId>parent</groupId>
<artifactId>mylibs-parent</artifactId>
<version>3.4</version>
</parent>
<build>
<finalName>mylibs-war</finalName>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>versions-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
</plugin>
</plugins>
</build>
4.0.0
迈里布斯
战争
3.4
父母亲
mylibs父代
3.4
米利布斯战争
org.codehaus.mojo
版本maven插件
org.apache.maven.plugins
maven依赖插件
父POM文件
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>parent</groupId>
<artifactId>mylibs</artifactId>
<packaging>pom</packaging>
<version>3.4</version>
<properties>
<maven.compiler.source>1.7</maven.compiler.source>
<maven.compiler.target>1.7</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.build.resourceEncoding>UTF-8</project.build.resourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>mylibs</groupId>
<artifactId>mylibs-tests</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>mylibs</groupId>
<artifactId>mylibs-processor</artifactId>
<version>1.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>mylibs</groupId>
<artifactId>mylibs-persistence</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>mylibs</groupId>
<artifactId>mylibs-databean</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>mylibs</groupId>
<artifactId>mylibs-localization</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>mylibs</groupId>
<artifactId>mylibs-net</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>mylibs</groupId>
<artifactId>mylibs-lang</artifactId>
<version>1.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>mylibs</groupId>
<artifactId>mylibs-metadata</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>mylibs</groupId>
<artifactId>mylibs-events</artifactId>
<version>1.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>mylibs</groupId>
<artifactId>mylibs-logging</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
</dependencies>
4.0.0
父母亲
迈里布斯
聚甲醛
3.4
1.7
1.7
UTF-8
UTF-8
迈里布斯
mylibs试验
1.0-快照
迈里布斯
mylibs处理器
1.1-快照
迈里布斯
mylibs持久性
1.0-快照
迈里布斯
mylibs数据库
1.0-快照
迈里布斯
mylibs定位
1.0-快照
迈里布斯
mylibs网
1.0-快照
迈里布斯
米利布斯郎
1.1-快照
迈里布斯
mylibs元数据
1.0-快照
迈里布斯
mylibs事件
1.1-快照
迈里布斯
mylibs测井
1.0-快照
插件目标不是设计为按照生命周期的一部分运行的。描述解锁快照目标的属性部分说 仅通过直接调用执行 这意味着只有在您一直在命令行中键入
mvn versions:unlock snapshots
时,它才会运行
刚才注意到上面关于如何运行命令的注释:
mvn版本:解锁快照包
我怀疑这不起作用,因为
解锁快照
目标实际上正在改变POM,但是包
阶段正在使用POM的原始未修改版本运行。使用-X
运行构建可能会显示这一点。如果不查看pom,就很难判断打包为何以某种方式工作。我的pom是空的,它从父pom文件获取依赖项,我声明了插件,以便可以从命令行调用它们。我刚刚定义了group/artifact/version元素。我运行“mvn versions:unlock snapshots package”作为命令行,我本来希望在战争中得到jarnames-SNAPSHOT.jar,但事实并非如此。也许你可以共享父pom,因为在不查看pom配置的情况下很难回答。添加了父pom文件内容。