这个命令具体会发生什么:
mvn -pl ABC –am -amd?
它是否编译代码?
我问这个问题的原因是我故意放了一个无效的文件,当我运行mvn -pl ABC -am -amd
选项时,我得到了成功的结果,我很困惑为什么Maven没有抱怨错误的文件?
但如果我使用mvn install
命令,就会出现错误!
这个命令具体会发生什么:
mvn -pl ABC –am -amd?
它是否编译代码?
我问这个问题的原因是我故意放了一个无效的文件,当我运行mvn -pl ABC -am -amd
选项时,我得到了成功的结果,我很困惑为什么Maven没有抱怨错误的文件?
但如果我使用mvn install
命令,就会出现错误!
-pl
或 --projects
命令可以让你选择特定的项目来应用你的目标(例如 clean install
),这样就可以节省在大型项目上等待完整构建所需的时间,如果你只需要构建几个模块。
您可能需要查看以下部分:
-pl
参数只编译指定模块而不是整个项目(在这种情况下,只编译ABC模块)。-am
参数可以让 maven 找出目标模块依赖的其他模块并一起编译(在这种情况下,编译ABC模块所依赖的模块)。如果你输入mvn -pl,并且不给-pl参数任何参数,那么你要求的是maven什么也不做。
-pl假定你在一个有多个模块的项目中,并且想要构建它们的一个子集。而你刚刚请求了空的子集。
你实际上没有给它一个运行目标。mvn -pl Abc:Xyz -am -amd
有两个问题。
首先,-amd
意味着 -am
,所以你不需要两个。
其次,你没有给它一个运行目标,比如 install、package、test 或 compile。
-am
与 -amd
相对应,是指在使用命令 mvn -pl abc
时:-am
会同时构建所有依赖于模块 abc 的模块;而 -amd
会同时构建所有依赖于模块 abc 的模块。 - Kutzi