-
Notifications
You must be signed in to change notification settings - Fork 524
Open
Description
原因
在 MacOS 中, 使用 IDEA 进行 mvn clean package
时, IDEA 会自动加上一个监听器 jar, 比如下面这个
-Dmaven.ext.class.path=/Users/zhangsan/Applications/IntelliJ IDEA Ultimate.app/Contents/plugins/maven/lib/maven-event-listener.jar
其中 IntelliJ IDEA Ultimate.app
带有空格, RepackageMojo 在执行的时候会把上面这个参数带上一起执行, IDEA 会被认为是一个 goal, 导致执行失败.
错误日志
[INFO] execute 'mvn dependency:tree' with command 'mvn dependency:tree -DappendOutput=true -DoutputFile="/Users/zhangsan/Work/version-control/xxxx/deps.log.xxxxx" -Djansi.passthrough=true -Didea.version=2025.2.3 -Dmaven.repo.local=/Users/zhangsan/.m2/repository -Dstyle.color=always -Dmaven.ext.class.path=/Users/zhangsan/Applications/IntelliJ IDEA Ultimate.app/Contents/plugins/maven/lib/maven-event-listener.jar'
[ERROR] Unknown lifecycle phase "IDEA". You must specify a valid lifecycle phase or a goal in the format <plugin-prefix>:<goal> or <plugin-group-id>:<plugin-artifact-id>[:<plugin-version>]:<goal>. Available lifecycle phases are: pre-clean, clean, post-clean, validate, initialize, generate-sources, process-sources, generate-resources, process-resources, compile, process-classes, generate-test-sources, process-test-sources, generate-test-resources, process-test-resources, test-compile, process-test-classes, test, prepare-package, package, pre-integration-test, integration-test, post-integration-test, verify, install, deploy, pre-site, site, post-site, site-deploy. -> [Help 1]
可能的解决方案
doGetAllArtifactByMavenTree
中需要判断一下是否有空格, 最终命令中应该加上双引号:
-Dmaven.ext.class.path="/Users/zhangsan/Applications/IntelliJ IDEA Ultimate.app/Contents/plugins/maven/lib/maven-event-listener.jar"
Metadata
Metadata
Assignees
Labels
No labels