我正在使用一个使用 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/