当我将 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}
用于带有分类器的 Artifact )。您无法更改存储库使用的格式。我添加上面的注释是因为每个人在了解
finalName
后似乎都想做的第一件事。参数是尝试更改存储库中的名称。
关于maven - jar 名称中的版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17024803/