4

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

也许其他人有更好的主意?

4

2 回答 2

8

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就是尝试更改存储库中的名称。

于 2013-06-10T15:43:57.260 回答
2

使用 Maven 的版本标签

<version>0.0.1-SNAPSHOT</version>

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

于 2013-06-10T13:19:16.190 回答