将所有具有依赖项的输出 jar 复制到一个文件夹中

Copy all output jars with dependencies into one folder

我有一个父 POM.xml 定义了 4 个模块,其中 3 个引用了第一个模块(准确地说是 this project)。

我正在尝试使用以下命令将所有输出 jar 及其运行时依赖项复制到一个文件夹中:

mvn package
mvn org.apache.maven.plugins:maven-dependency-plugin:3.1.1:copy-dependencies 
-DoutputDirectory=deps -DincludeScope=runtime
-DexcludeGroupIds=com.acadiasoft.im 

第一个命令成功,最后一个失败并出现错误:

[ERROR] Failed to execute goal on project simm: Could not resolve dependencies for project com.acadiasoft.im:simm:jar:1.0.0-SNAPSHOT: Could not find artifact com.acadiasoft.im:base:jar:1.0.0-SNAPSHOT -> [Help 1]

请注意最后一个参数 -DexcludeGroupIds=com.acadiasoft.im,这是我尝试解决此错误的方法。我也试过 excludeArtifactIds 达到同样的效果。

问题 1:为什么不起作用?为什么它不跳过组 ID com.acadiasoft.im 的人工制品?

问题 2: 有没有办法让 maven 'see' 生成在 mvn package 步骤中生成的 jar 并将它们连同它们的依赖项一起复制过来?

版本信息:

请注意,我更喜欢基于命令行的解决方案,而不是必须修改 POM。谢谢。

有效咒语是

mvn clean install
mvn org.apache.maven.plugins:maven-dependency-plugin:3.1.1:copy-dependencies -DoutputDirectory=deps -DincludeScope=runtime -DexcludeGroupIds=com.acadiasoft.im

注意 package -> install