在Maven项目中管理库依赖项

时间:2013-11-16 18:03:00

标签: java maven dependencies

作为Maven的初学者,我有一个小问题需要完全理解并找到如何管理Java应用程序中所有依赖项的最佳方法。在我的应用程序中,大约有20-30个外部库。这些库具有自己的依赖库,其中一些库需要一个特定库的不同版本。怎么能解决这个问题呢?

我的主要问题是如何找出我的librabries的所有依赖项,并且不要忘记它们中的任何一个。当我在寻找解决方案时,我发现http://search.maven.org/网站为所有库提供了拥有此特定库所需的所有依赖库的pom.xml文件。例如。这是Spring-core 3.2.5的pom.xml。

这些文件用于什么?可以在Maven项目中使用这些文件来指定依赖项吗?我希望如此,因为它包含有关某个特定库的有价值信息,并且此pom.xml文件的结构与标准Maven pom.xml文件中的相同。

如果可以直接在Maven中使用,在哪里放置这些文件?我研究过标准的Maven项目directory structure,但我不知道在哪里放置它们。

如果无法使用,这些pom.xml文件的用途是什么?复制出依赖项并在我的Maven项目pom.xml文件中使用是否安全?这可以解决如何找出所有需要的依赖关系。

2 个答案:

答案 0 :(得分:1)

确保您在pom.xml文件中拥有应用程序的依赖项。

存储库中的文件包含有关特定库依赖项的信息。除了应用程序的pom.xml文件之外,您不必放置任何其他文件。在打包应用程序时,Maven将负责包含依赖项的依赖项。

答案 1 :(得分:1)

将所有依赖项放在pom.xml个文件中,是的。这样,所有必需的依赖项将自动从Maven存储库下载并打包到您的构建工件中。除了设置范围是否正确之外,您大多数情况下不必担心任何其他问题。如果您有一个多模块Maven项目,请在根项目上使用dependencyManagement。

pom.xml转到项目的根目录,BTW。

了解更多here