我使用mvn install:install命令将内部文件安装到Maven存储库。以这种方式安装的所有Jars都会自动添加版本名称作为后缀。由于我们有许多带有Jars名称的批处理脚本,因此对我们来说非常不方便。如何关闭此自动重命名?
答案 0 :(得分:7)
你做不到。 Maven中的依赖性解析是有效的,因为Maven具有约定,并且工件的命名就是其中之一。因此,您无法关闭maven install
工件的方式(而且您实际上并不想这样做。)
处理脚本(bat / sh)的常用方法是将它们放在源树中(例如在src/main/bin
中),并使用assembly plugin创建项目的分布。在构建程序集时,您可以重命名工件,filter分发文件等。这将是执行此类操作的正确位置。
答案 1 :(得分:3)
想要删除版本号很诱人,但我建议尽可能保持版本号。
您可以使用Maven's resource filtering功能来管理批处理脚本,而不是删除版本号吗? Maven可以通过将bat脚本中的$ {project.version}等占位符替换为pom.xml中的当前版本号来管理批处理脚本。这样,您可以确保批处理脚本运行正确的(预期)代码版本。
你可能强迫maven在没有版本的情况下部署一个jar,但如果你这样做,你就会失去Maven首先管理你的构建的一些主要好处,即imo。例如,就在昨天,我被要求维护一个不受maven管理的java项目,其中有一堆lib目录中的非版本化jar文件。没有办法知道任何罐子的来源。
前面可能有点令人头疼,但如果你正在使用maven,你也可以100%跳起(再次,根据我的经验)。