如果您遇到同样的问题:linked duplicate question会对您有所帮助,但请仔细阅读问题,OP已在问题正文中发布了答案。
注意:这不是Controlling maven final name of jar artifact的重复,因为我没有创建该jar。它是第三方库,我没有(无)控制权。我需要通过在命令行上运行mvn install:install-file
手动将其导入我的存储库。
我需要将jar带入我的存储库,其名称可能不会被更改(sapjco3.jar
),因为它由jar本身测试,并在名称更改时被撤销。由于这是第三方库,我无法改变这种行为。
所以基本上我想要运行这个声明:
mvn install:install-file
-DgroupId=com.sap
-DartifactId=sapjco
-Dversion=3
-Dpackaging=jar
-Dfile=sapjco3.jar
-DfinalName=sapjco3
然后在我的存储库中有这个结构:
...\repository\com\sap\sapjco\3.0.11\sapco3.jar
如果我需要更改版本(至'3')或类似的东西,那对我很好。
目前它不起作用,因为finalName
参数似乎被忽略,文件的名称如下:
...\repository\com\sap\sapjco\3.0.11\sapco-3-0-11.jar
当我不解决此问题并保留此名称时,尝试运行代码时会出现此错误消息:
java.lang.ExceptionInInitializerError: Illegal JCo archive "sapjco3-3.0.11.jar". It is not allowed to rename or repackage the original archive "sapjco3.jar".