java - 将基于 Maven 的依赖项的传递依赖项收集到非 Maven 项目的类路径

标签 java maven classpath

我正在使用一个使用 Maven 编译和测试的库。
我能够毫无问题地编译库。在编译时,它似乎下载了库的所有依赖项。

现在,我正在尝试在我的项目中使用该库。当我编译库时,我发现在库文件夹中创建了一个名为 target 的文件夹,并且在该文件夹中,还有另一个名为 classes 的文件夹。我将 classes 文件夹添加到我的类路径中。但是,每当我尝试在我的项目中使用不使用 Maven 的库时,它都会说找不到该库的依赖项。

如何将所有该库的依赖项添加到我的类路径中?
我是否需要手动下载所有库的依赖项并将它们添加到类路径中?
有什么方法可以让 Maven 为我做到这一点?
我需要做什么才能在我的项目中使用该库?

我的项目与库位于完全不同的目录中。现在,我的项目似乎能够正确加载库文件,但不能正确加载库依赖项。

最佳答案

当您为该库执行 mvn install 时,它应该已经创建了一个 jar 文件并将其放在 target/libaryname-version.jar 中。最好依赖这个最终的 jar 而不是 classes 文件夹的内容。 Maven 还有一个目标是下载项目的所有依赖项。你可以执行

mvn dependency:copy-dependencies

在库文件夹中,它将所有依赖 jar 复制到 target/dependency。默认情况下,这还将包括仅用于测试的 jar,排除这些您可以使用

mvn dependency:copy-dependencies -DincludeScope=runtime

关于java - 将基于 Maven 的依赖项的传递依赖项收集到非 Maven 项目的类路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9385991/

相关文章:

java - Flamingo 的 swing 功能区中仅正确显示第一 strip

java - 第一次尝试设置测试数据库但得到 com.mysql.jdbc.exceptions.jdbc4.CommunicationsException : Communications link failure

java - Java 集合中的静态方法需要澄清吗?

java - [错误] : cannot find symbol variable log when building with maven and lombok

eclipse - 在 Eclipse 中设置 Scala Lift 项目

Java 类路径问题

java - 在未加权图中找到从源到目的地的所有最短路径

maven - 配置 GWT 编译器以使用更少的内存?

java - Yosemite : No compiler is provided in this environment 上的 Maven 安装失败

Java多个类路径为:classes directive