jar名称中的版本

时间:2013-06-10 13:14:52

标签: maven intellij-idea

当我将mvn项目导入Intellij时,它生成的jar文件不包含版本。但是mvn生成的jar有name-version.jar格式。所以我最终得到了两个jar文件,一个是版本而另一个是没有版本。我当然可以在Intellij设置中更改模块名称以包含版本。但每当我更改pom文件时,这将被重置。

也许别人有更好的主意?

2 个答案:

答案 0 :(得分:6)

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参数时,每个人似乎都想做的第一件事就是尝试更改存储库中的名称。

答案 1 :(得分:1)

使用maven的版本标签

<version>0.0.1-SNAPSHOT</version>

不要让intellij创建没有版本标记的jar文件。