gpt4 book ai didi

java - 如何复制多模块项目的依赖项?

转载 作者:行者123 更新时间:2023-12-02 05:56:20 25 4
gpt4 key购买 nike

我有一个项目依赖于工作区中的不同项目模块。我正在尝试将所有依赖项(包括模块)复制到 lib 文件夹中,以创建一个可执行 jar,该 jar 本身未打包所有 jar。

但是 maven-dependency-plugin 一直提示它无法将模块类复制到我项目的目标文件夹。可能出了什么问题?

我的群组 我的模块 1.0

 <plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>copy-dependencies</id>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/lib</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>

结果:

Failed to execute goal org.apache.maven.plugins:maven-dependency-plugin:2.1:copy-dependencies (copy-dependencies) on project my-project: Error copying artifact from C:\workspace\my-module\target\classes to C:\workspace\my-project\target\lib\classes: (Access denied)

最佳答案

失败的原因是 Eclipse 中的工作空间解析。 Eclipse m2e 将自身注入(inject)到 maven 的 Artifact 解析中。

因此,当您的 my-project 尝试获取所有依赖项时, Artifact 解析器返回的不是 jar 文件(尚不存在),而是您的依赖项目的类文件夹。

如果您尝试使用“run as -> maven install”来构建项目,它应该可以工作。

因此,这是您无法在工作区中轻松解决的情况。要么关闭我的项目的工作区解析,禁用 Eclipse 中的依赖插件(生命周期绑定(bind)),要么使用不同的插件(如程序集)来复制您的依赖项(顺便说一句,这更干净)。但请注意,后者也仅在手动调用 maven 时才有效。

关于java - 如何复制多模块项目的依赖项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23055534/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com