代码之家  ›  专栏  ›  技术社区  ›  Sergey

如何停止maven重命名已安装的jar

  •  3
  • Sergey  · 技术社区  · 16 年前

    我正在使用mvn install:install命令将内部文件安装到maven存储库。以这种方式安装的所有jar都自动添加了版本名作为后缀。由于我们有许多带有jar名称的批处理脚本,这对我们来说非常不方便。如何关闭此自动重命名?

    2 回复  |  直到 16 年前
        1
  •  7
  •   Pascal Thivent    16 年前

    不能。maven中的依赖项解析是有效的,因为maven有约定,而工件的命名就是其中之一。所以你不能走马文的路 install 工件(实际上你不想)。

    处理脚本(bat/sh)的常用方法是将它们放在源代码树中(例如 src/main/bin )并使用 assembly plugin . 在构建程序集时,可以重命名工件, filter 分发文件等,这将是做这种事情的正确地方。

        2
  •  3
  •   Upgradingdave    16 年前

    想要删除版本号是很有诱惑力的,但是如果可能的话,我建议您保持打开。

    与其删除版本号,不如使用 Maven's resource filtering 管理批处理脚本的能力?maven可以通过用pom.xml中的当前版本号替换bat脚本中的占位符(如${project.version})来管理批处理脚本。这样可以确保批处理脚本运行的代码版本正确(预期)。

    你可能会强迫Maven部署一个没有版本的JAR,但是如果你这样做了,你首先失去了Maven管理你的构建的一些主要好处,IMO。例如,昨天我被要求维护一个Java项目,而不是由Maven管理的一组非版本JA。lib目录中的r文件。没办法知道这些罐子是从哪里来的。

    前面可能有点头痛,但是如果你用的是maven,你最好100%跳进去(同样,根据我的经验)。

    推荐文章