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



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

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

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

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

[错误] 无法在项目simm上执行目标:无法解析项目com.acadiasoft.im:simm:jar:1.0.0-SNAPSHOT

的依赖项:找不到工件com.acadiasoft.im:base:jar:1.0.0-SNAPSHOT -> [帮助1]

请注意最后一个参数-DexcludeGroupIds=com.acadiasoft.im这是我尝试解决此错误的方式。我也尝试了排除ArtifactIds以获得相同的效果。

问题1:为什么不起作用?为什么不跳过组 IDcom.acadiasoft.im的工件?

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

版本信息:

  • Maven 3.6.1
  • JDK 1.8

请注意,我更喜欢基于命令行的解决方案,而不必修改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

最新更新