当前位置: 首页 > 知识库问答 >
问题:

jar名称中的版本

欧阳永宁
2023-03-14

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

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

共有2个答案

轩辕成天
2023-03-14

使用maven的版本标签

<version>0.0.1-SNAPSHOT</version>

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

贺飞星
2023-03-14

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

 类似资料:
  • 如何使用任务重命名gradle scala插件生成的jar,以包含scala版本名?我相信这个属性被称为:。它是通过java插件提供的(https://docs.gradle.org/current/dsl/org.gradle.api.Project.html#org.gradle.api.Project:archivesBaseName). 注意:我希望使用kotlin DSL完成此任务。 对

  • 默认情况下,Spring Boot 2使用Gradle属性,该属性可以在文件中设置。 但是,我希望更改jar文件名,而不更改。 以下是文件的和部分: . 注意:没有像我预期的那样设置jar名称,在阅读:https://docs.spring.io/spring-boot/docs/current/gradle-plugin/reference/html/#integrate-with-acture

  • 我发布了一些库使用它的工作和发布到我的目录。 然后我有一个依赖于这些库的项目,但是sbt更新找不到它们。 具体来说,我的项目有以下依赖项: 出现以下错误: 当我查看目录时,我可以看到已发布的jar,但它们的名称附加了scala版本,这就是解析失败的原因,我认为: 如果我真的发布到一个回购,我可以解决库。 有人知道sbt咒语来解决这个问题吗?;-) 干杯卡尔 更新:-我认为Coursier是问题,不

  • 问题内容: 对于Java开发人员来说,这必须是一个非常基本的问题,但是在给定 类名* 的情况下找到合适的 jar文件 的最佳方法是什么? * 例如,给定“ com.ibm.websphere.security.auth.WSSubject ”,您如何跟踪适当的jar文件?(“ google”不是我要找的答案!) 在Java文档不给jar文件的任何暗示,明显的jar文件的名称本身不提供线索。 在Ja

  • 我用gradle下载常春藤罐子,gradle脚本如下: } } 我的常春藤配置是这样的: 常春藤上的罐子名称是: http://my.company/his-libs/org.slf4j/slf4j-api/1.6.4/slf4j-api-1.6.4.jar 但是当我使用gradle下载它们时,jar的名称是: D:\Users\myname。gradle\caches\artifacts-23\

  • 问题内容: 我必须从Python脚本获取Linux发行版名称。平台模块中有一个方法: 但是在我的Arch Linux下,它返回: 为什么?我如何获得名字? PS。我必须检查发行版是否基于Debian。 更新:我在这里找到Python网站,从2.6开始不推荐使用dist()。 问题答案: 这对我在Ubuntu上有效: 然后,我通常会找出平台模块到底是做什么来找到发行版的,这就是这一部分: 因此,其中