Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在maven pom.xml中配置依赖项?_Java_Maven 2 - Fatal编程技术网

Java 如何在maven pom.xml中配置依赖项?

Java 如何在maven pom.xml中配置依赖项?,java,maven-2,Java,Maven 2,我正在将我的简单工作web应用程序(从eclipse运行)转换为maven项目。这是我的第一个maven项目。我有3个外部jar依赖项,然后我将它们添加到pom.xml中。我的构建失败了,因为它无法找到这3个依赖项。这里是我的pom.xml文件 构建是说这3个包不存在 package javax.servlet does not exist package org.apache.commons.codec.binary does not exist package org.apache.com

我正在将我的简单工作web应用程序(从eclipse运行)转换为maven项目。这是我的第一个maven项目。我有3个外部jar依赖项,然后我将它们添加到pom.xml中。我的构建失败了,因为它无法找到这3个依赖项。这里是我的pom.xml文件

构建是说这3个包不存在

package javax.servlet does not exist
package org.apache.commons.codec.binary does not exist
package org.apache.commons.configuration does not exist

我错过了什么?我正在从Mac上运行我的应用程序,在.m2/存储库中我看到了这3个库/包。

您需要删除围绕
依赖项的
依赖项管理
标记,或者再次添加
依赖项
,但嵌套在
项目
标记中,即,与
依赖管理处于同一级别

允许您修复跨多模块项目的依赖关系信息(例如,版本号),但是您仍然需要在该信息旁边提供一个
依赖关系
部分,以便Maven知道如何包含它们


如果您的项目不是一个多模块项目,我将尝试不使用
依赖项管理
部分。

您需要删除围绕
依赖项的
依赖项管理
标记,或者再次添加
依赖项
,但嵌套在
项目
标记中,即,与
依赖管理处于同一级别

允许您修复跨多模块项目的依赖关系信息(例如,版本号),但是您仍然需要在该信息旁边提供一个
依赖关系
部分,以便Maven知道如何包含它们


如果你的项目不是一个多模块项目,我可能根本不会使用
dependencyManagement
部分。

只需删除
dependencyManagement
标签
只需删除
depencymanagement
标签就行了。还有一件事,我是否需要在本地存储库(.m2/repository)中保存所有这些库。如果我不在我的本地网站上发布,他们是否还有其他选择。我问这个问题的原因是我已经阅读了一些文档,如果我们提供URL,maven会自动为我们引入这些库。这是否意味着将它们放入.m2/repository是一种选择?否,通常您不需要这样做。Maven将为您从中央存储库下载依赖项。因此,如果我理解正确,我不需要配置pom.xml(比如给中央存储库提供一个url)来告诉Maven下载中央存储库的依赖项是正确的,maven自动了解中央存储库和本地存储库-它们将被设置为默认值,因此无需填写它们。Thx这对我来说很有效。还有一件事,我是否需要在本地存储库(.m2/repository)中保存所有这些库。如果我不在我的本地网站上发布,他们是否还有其他选择。我问这个问题的原因是我已经阅读了一些文档,如果我们提供URL,maven会自动为我们引入这些库。这是否意味着将它们放入.m2/repository是一种选择?否,通常您不需要这样做。Maven将为您从中央存储库下载依赖项。因此,如果我理解正确,我不需要配置pom.xml(比如给中央存储库提供一个url)来告诉Maven下载中央存储库的依赖项是正确的,maven自动了解中央存储库和本地存储库-它们将被设置为默认值,因此无需填写它们。