关于Maven依赖关系和外部库的初学者查询

关于Maven依赖关系和外部库的初学者查询,maven,jar,Maven,Jar,即使我必须使用Maven依赖项,我也应该添加外部jar文件吗。我对maven真的很陌生,真的无法理解它的真正用途。请引导我了解maven。谢谢。我建议读这本书:。一般来说,Maven项目不应该有带JAR的lib文件夹,因为在99%的情况下,可以从各种存储库中检索必要的依赖项。您不需要手动添加任何外部库。您需要将这些库作为依赖项添加到maven中,此后,maven将为您处理库 例如,如果需要将slf4j外部库(jar)作为依赖项添加到项目中,请将以下内容添加到mavenpom.xml文件中 <

即使我必须使用Maven依赖项,我也应该添加外部jar文件吗。我对maven真的很陌生,真的无法理解它的真正用途。请引导我了解maven。谢谢。

我建议读这本书:。一般来说,Maven项目不应该有带JAR的lib文件夹,因为在99%的情况下,可以从各种存储库中检索必要的依赖项。

您不需要手动添加任何外部库。您需要将这些库作为依赖项添加到maven中,此后,maven将为您处理库

例如,如果需要将
slf4j
外部库(jar)作为依赖项添加到项目中,请将以下内容添加到maven
pom.xml
文件中

<dependency>
  <groupId>org.slf4j</groupId>
  <artifactId>com.springsource.slf4j.api</artifactId>
  <version>1.5.6</version>
</dependency>

org.slf4j
com.springsource.slf4j.api
1.5.6

如果您有一个不在任何公共存储库中的个人库,那么您需要将该jar文件安装到本地maven存储库。

传统上,如果您的项目需要使用一些开源工具和框架,您必须从这些工具的官方网站手动下载它们。如果只想使用库A,但此库A依赖于另一个库B的代码,则必须同时下载库A和库B。这非常麻烦,因为您不仅要下载要使用的库,还要下载这些库所依赖的任何其他库

Maven依赖特性的要点在于它解决了这样的问题。您只需在配置文件(
pom.xml
)中定义要在项目中使用的库,然后Maven将帮助您自动下载这些库,并从公共Maven存储库或您在
pom.xml
中定义的存储库中检索这些库需要使用的任何其他库


但是,出于商业和版权方面的原因,并非所有常用的库都可以在Maven公共存储库中找到。其中一个例子是Oracle JDBC驱动程序。在本例中,您必须手动下载该库并将其作为项目使用的外部库导入。您也可以将其导入本地Maven存储库。

@AndrewLoginov谢谢您的回答。我现在正在读这本书,谢谢你给我举个例子。这有助于我更清楚地理解maven。