检查该库是否在您的本地 maven 存储库中,通常位于<carpeta de usuario>/.m2. 在 Windows 上会是C:\Users\<tu usuario>\.m2. 在 Mac 上会是/Users/<tu usuario>/.m2,依此类推。
如果它不存在,它将从中央存储库下载库。
需要注意的是,Maven 将使用下载的库来编译你的项目。这并不意味着您的最终工件将包含嵌入其中的依赖项。这取决于项目的类型和您可以在 Maven 中进行的一些附加设置。例如,如果你的项目是 jar 类型的,Maven 默认不会在生成的 jar 中添加任何依赖项。但是,如果您的项目是 war 类型,Maven 将默认在 WEB-INF/lib(Java Web 应用程序标准)文件夹中添加依赖项。
第一个问题的答案是肯定的,只有当这些库位于某个maven 中央存储库中时,maven 才会负责下载您声明为项目依赖项的库(参见 Approved Repository Hosting 部分)。但是 maven 做的远不止这些。Maven 还允许您下载这些项目的源代码和文档(如果可用)。同样,Maven 还将下载您指定为依赖项的库的依赖项。例如,Spring Core 4.2.5 依赖于 commons-codec 版本 1.10 库(如其 pom.xml 文件所示),如果 Maven 检测到您没有在本地安装该库,那么它将为您下载它。
稍微详细一点,当您在 Maven 中声明依赖项时,它将执行以下操作:
<carpeta de usuario>/.m2
. 在 Windows 上会是C:\Users\<tu usuario>\.m2
. 在 Mac 上会是/Users/<tu usuario>/.m2
,依此类推。需要注意的是,Maven 将使用下载的库来编译你的项目。这并不意味着您的最终工件将包含嵌入其中的依赖项。这取决于项目的类型和您可以在 Maven 中进行的一些附加设置。例如,如果你的项目是 jar 类型的,Maven 默认不会在生成的 jar 中添加任何依赖项。但是,如果您的项目是 war 类型,Maven 将默认在 WEB-INF/lib(Java Web 应用程序标准)文件夹中添加依赖项。
第二个问题在Maven 的目录设计标准介绍中得到了解答和详细说明。无论如何,在这里我根据您显示的图像为您在项目中拥有的文件夹提供详细信息:
mvn -Dmaven.test.skip=true
.此外,默认情况下,Maven 将使您的项目使用 Java 5(如图所示,您的项目使用 Java 5 或 J2SE 1.5)。为了避免这种情况并使用您最喜欢的 Java 版本(6、7、8、9?),您必须在 pom.xml 文件的 build 部分下添加一个插件:
请注意,
<build>
和<dependencies>
是两个独立的部分。是的,这正是它的作用。
该目录
/target
是您进行构建时创建文件的位置!这是 Maven 创建的目录列表,指定它们的用途:
https://maven.apache.org/guides/introduction/introduction-to-the-standard-directory-layout.html