You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Intellij运行配置将Maven模块生成的jar安装到本地.m2仓库

解决方案

优先推荐使用方案1,无需处理任何路径和属性读取,仅一行命令即可解决问题

方案1:命令行覆盖install插件跳过配置

Maven命令行参数的优先级高于pom文件内的配置,你可以直接在module1的构建步骤后追加如下命令,强制执行install操作,会自动读取pom内的所有坐标、版本信息,将target下的jar安装到本地.m2仓库:

# 切换到module1目录下执行
mvn install -Dmaven.install.skip=false

如果是在项目根目录执行,可以单独指定module1运行:

mvn -pl module1 install -Dmaven.install.skip=false

调整后的Intellij运行配置步骤:

  • 构建module1
  • 执行上述强制安装命令
  • 构建module2
  • 启动服务

方案2:动态读取pom属性执行install-file

如果需要自定义安装逻辑,你可以通过Maven的help插件动态读取pom中的属性,不需要硬编码版本、坐标等信息:

Linux/macOS环境命令

# 切换到module1目录下执行
# 读取pom属性
GROUP_ID=$(mvn help:evaluate -Dexpression=project.groupId -q -DforceStdout)
ARTIFACT_ID=$(mvn help:evaluate -Dexpression=project.artifactId -q -DforceStdout)
VERSION=$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout)
JAR_PATH=target/${ARTIFACT_ID}-${VERSION}.jar

# 安装jar到本地仓库
mvn install:install-file -Dfile=${JAR_PATH} -DgroupId=${GROUP_ID} -DartifactId=${ARTIFACT_ID} -Dversion=${VERSION} -Dpackaging=jar

Windows CMD环境命令

:: 切换到module1目录下执行
:: 读取pom属性
for /f "delims=" %%i in ('mvn help:evaluate -Dexpression=project.groupId -q -DforceStdout') do set GROUP_ID=%%i
for /f "delims=" %%i in ('mvn help:evaluate -Dexpression=project.artifactId -q -DforceStdout') do set ARTIFACT_ID=%%i
for /f "delims=" %%i in ('mvn help:evaluate -Dexpression=project.version -q -DforceStdout') do set VERSION=%%i
set JAR_PATH=target/%ARTIFACT_ID%-%VERSION%.jar

:: 安装jar到本地仓库
mvn install:install-file -Dfile=%JAR_PATH% -DgroupId=%GROUP_ID% -DartifactId=%ARTIFACT_ID% -Dversion=%VERSION% -Dpackaging=jar

两种方案均不需要修改pom.xml文件,所有调整都可以在Intellij运行配置中完成,符合遗留架构的要求。


内容的提问来源于stack exchange,提问作者Mirhawk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 01:27:03