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

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

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

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

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

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

mvn dependency:copy-dependencies

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

mvn dependency:copy-dependencies -DincludeScope=runtime

转载注明原文:java – 将基于Maven的依赖项的传递依赖项收集到非Maven项目的类路径中 - 代码日志