Java 外部jar最终名称

Java 外部jar最终名称,java,maven,dependencies,pom.xml,Java,Maven,Dependencies,Pom.xml,是否可以在Maven中更改pom文件中外部jar的最终名称 <dependency> <groupId>com.lowagie</groupId> <artifactId>iText</artifactId> <version>2.1.7</version> </dependency> 我想更改它,以便在camel案例中只有这个特定的jar名称

是否可以在Maven中更改pom文件中外部jar的最终名称

<dependency>
        <groupId>com.lowagie</groupId>
        <artifactId>iText</artifactId>
        <version>2.1.7</version>
    </dependency>

我想更改它,以便在camel案例中只有这个特定的jar名称。我希望使用itext-2.1.7.jar而不是itext-2.1.7.jar。我怎样才能做到呢?

没有直接的方法。作为一个丑陋的解决办法

将子模块添加到您的项目中,并在其中添加此依赖项,并使用汇编插件打包。根据需要更改子模块的工件ID。基本上,这个新模块将是这个依赖项的包装器。在运行时,这些类将可用

您应该将此模块定义为标记的顶部元素。因此,它将首先建造。并在.m2中更新。这也确保了您的代码在任何地方都可以正常编译,而无需引用来自maven central的工件


再说一次,没有OOTB的方法。因此.

首先,为什么?其次,不是。区分大小写的更新机制认为这个jar是更新的,因为在旧版本中它是驼峰大小写,所以我需要保持它不变。我强烈建议使用小写的artifactId。。除此之外,正如前面提到的,这是不可能的。我对更新机制没有任何影响,我必须确保这个jar不会被替换,所以唯一的方法就是改变它。我在考虑在创建jar后,使用插件复制重命名maven插件来重命名jar。不是优雅的方式,但我需要以某种方式来做。为什么不改变更新机制呢?