当我使用此命令时,我想创建一个没有SNAPSHOT原因的jar文件
mvn -f pom.XML package
Run Code Online (Sandbox Code Playgroud)
创建了两个文件“文件名_SNAPSHOT.jar和文件名_SNAPSHOT_WITH_dependencies.jar”。我想要文件名.jar,我知道我应该在pom.XML中进行编辑,因此我尝试添加此文件
mvn -f pom.XML package
Run Code Online (Sandbox Code Playgroud)
但是它创建了文件名name_SNAPSHOT_source.jar我该如何解决?
我的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">
<model Version>4.0.0</model Version>
<group Id>MyProject</group Id>
<artifact Id>MyProject</artifact Id>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
Run Code Online (Sandbox Code Playgroud)
正确的方法是改变project.version。但是不建议这样做,因为开发jar应该具有带后缀的版本-SNAPSHOT。
Maven在帮助您进行版本管理方面有很长的路要走,您经常会在版本中看到SNAPSHOT指示符,这表明项目处于开发状态。
更多信息:
其他无需更改的解决方案project.version是使用property finalName。该解决方案version从工件中去除了全部。
<build>
<finalName>${project.artifactId}</finalName>
</build>
Run Code Online (Sandbox Code Playgroud)
应用后,您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.example.something</groupId>
<artifactId>myproject</artifactId>
<version>0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>My Project<name>
<build>
<finalName>${project.artifactId}</finalName>
</build>
...
</project>
Run Code Online (Sandbox Code Playgroud)
该属性finalName也适用于Maven Assembly Plugin
另请阅读:
| 归档时间: |
|
| 查看次数: |
3761 次 |
| 最近记录: |