当我将 mvn 项目导入 Intellij 时,它生成的 jar 文件不包含版本。但是 mvn 生成的 jar 有name-version.jar
格式。所以我最终得到了两个 jar 文件,一个带有版本,另一个没有版本。我当然可以在 Intellij 设置中更改模块名称以包含版本。但是每当我更改 pom 文件时,它都会被重置。
也许其他人有更好的主意?
当我将 mvn 项目导入 Intellij 时,它生成的 jar 文件不包含版本。但是 mvn 生成的 jar 有name-version.jar
格式。所以我最终得到了两个 jar 文件,一个带有版本,另一个没有版本。我当然可以在 Intellij 设置中更改模块名称以包含版本。但是每当我更改 pom 文件时,它都会被重置。
也许其他人有更好的主意?
Maven在磁盘上生成的 jar 名称是由控制的,/project/build/finalName
所以如果你编辑你pom.xml
的样子
<project>
...
<build>
...
<finalName>${artifactId}</finalName>
...
</build>
...
</project>
然后 Maven 将生成没有版本的 jar 文件。
finalName
只控制磁盘上文件的名称。一旦该文件被传输到本地存储库缓存或远程存储库,它将被重命名以匹配存储库布局(即${artifactId}-${version}.${type}
或${artifactId}-${version}-${classifier}.${type}
用于具有分类器的工件)。您无法更改存储库使用的格式。
我添加上面的注释是因为每个人在了解参数后似乎想做的第一件事finalName
就是尝试更改存储库中的名称。
使用 Maven 的版本标签
<version>0.0.1-SNAPSHOT</version>
不要让 intellij 创建没有版本标签的 jar 文件。