Maven 2 如何停止Maven重命名已安装的JAR

Maven 2 如何停止Maven重命名已安装的JAR,maven-2,Maven 2,我正在使用mvn install:install命令将我们的内部文件安装到Maven存储库中。以这种方式安装的所有JAR都会自动添加版本名作为后缀。由于我们有许多带有JAR名称的批处理脚本,这对我们来说非常不方便。如何关闭此自动重命名?您不能。Maven中的依赖项解析是有效的,因为Maven有约定,工件的命名就是其中之一。因此,您不能关闭maven安装工件的方式(实际上您不想这样做) 处理脚本(bat/sh)的常用方法是将它们放在源代码树中(例如在src/main/bin中),并使用创建项目的分

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

您不能。Maven中的依赖项解析是有效的,因为Maven有约定,工件的命名就是其中之一。因此,您不能关闭maven
安装工件的方式(实际上您不想这样做)


处理脚本(bat/sh)的常用方法是将它们放在源代码树中(例如在
src/main/bin
中),并使用创建项目的分发版。在构建程序集时,您可以重命名工件、分发文件等。这将是执行此类操作的正确位置。

很容易删除版本号,但我建议尽可能保留它

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

您可能会强制maven在没有版本的情况下部署jar,但如果这样做,您就失去了让maven首先管理您的构建的一些主要好处,imo。例如,就在昨天,我被要求维护一个java项目,该项目不是由maven管理的,在lib目录中有一堆未版本化的jar文件。没有办法知道这些罐子是从哪里来的


这可能有点让人头疼,但如果你使用maven,你最好100%跳进去(同样,根据我的经验)

脚本(bat/sh)通常不是资源。@Pascal Thivent,为什么不能呢?我使用的技术是,我把我的脚本放在一个目录下命名脚本。然后我可以配置Maven资源过滤器来过滤脚本目录中的文件。它工作得很好。他们不是最终进入了目标/类(这可能是不需要的)吗?