使用mvn install:install-file安装jar时如何指定带classifier的文件名
解决方案
核心修正逻辑
问题出在install:install-file命令缺少分类器参数,同时源文件路径没有匹配构建生成的带-classes后缀的jar包,无需额外手动重命名文件,直接调整命令参数即可解决。
修正后的完整命令
直接替换你IntelliJ运行配置中的原有Maven命令即可,所有参数仍然从pom.xml动态读取,无硬编码:
mvn install:install-file -Dfile=${project.build.directory}/${project.build.finalName}-classes.jar -DgroupId=${project.groupId} -DartifactId=${project.artifactId} -Dversion=${project.version} -Dpackaging=jar -Dclassifier=classes
参数修改说明
- 调整
-Dfile路径:maven-war-plugin开启attachClasses=true后,构建生成的依赖jar默认命名为${project.build.finalName}-classes.jar,直接指向该文件即可,无需额外重命名操作 - 新增
-Dclassifier=classes参数:install:install-file原生支持该参数,指定后安装到本地仓库的jar会自动携带classes分类器,和module2依赖中的配置完全匹配,安装后的文件名自动为module1-corp-${version}-classes.jar,符合依赖识别要求
补充说明
你之前尝试的-Djar.finalName参数是maven-jar-plugin的打包配置项,install:install-file目标不识别该参数,因此无法生效。
内容的提问来源于stack exchange,提问作者Mirhawk
相关产品推荐
相关产品推荐

