127

我想利用 Maven 提供的特性来管理项目中的依赖项。我对 Maven 工作原理的简要理解是,它将获取所需的 JAR,然后使用这些库构建项目。

目前我有一个简单的 POM 文件设置为测试:

<project xmlns="http://maven.apache.org/POM/4.0.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.jamesgoodwin.test</groupId>
  <artifactId>com.jamesgoodwin.test</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <build>
  </build>
  <dependencies>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-core</artifactId>
        <version>3.0.0.RELEASE</version>
        <type>jar</type>
        <scope>compile</scope>
    </dependency>
  </dependencies>
</project>

为了管理依赖项,我通常将项目或 JAR 添加到构建路径中,然后我就可以构建我的项目了。

但是在使用M2Eclipse时,依赖项不会自动添加到构建路径中。是否有任何配置可以让 Eclipse 知道 Maven 正在管理依赖项?

4

18 回答 18

118

如果您右键单击您的项目,“maven”下应该有一个“启用依赖项管理”选项。就是这样。

于 2010-01-10T14:11:22.997 回答
69

如果你执行

mvn eclipse:clean

其次是

mvn eclipse:eclipse

如果将为您准备 eclipse.classpath文件。也就是说,这些命令是从命令行(即在 Eclipse 之外)针对 maven 运行的。

于 2010-01-10T14:00:02.473 回答
29

我假设您使用的是您提到的 m2eclipse。但是不清楚您是否在 Eclipse 下创建了项目,因此我将尝试涵盖所有情况。

  1. 如果您在 Eclipse 下创建了一个“Java”项目(Ctrl+N > Java Project),然后在Package Explorer视图中右键单击该项目 并转到Maven > Enable Dependency Management(取决于初始项目结构,您可能已经修改它与 maven 的匹配,例如通过添加到构建路径上的源文件夹)。src/java

  2. 如果您在 Eclipse 下创建了“Maven 项目”(Ctrl+N > Maven 项目),那么它应该已经“准备好 Maven”了。

  3. 如果您在 Eclipse 之外创建了一个 Maven 项目(手动或使用原型),那么只需将其 导入Eclipse(右键单击Package Explorer视图并选择Import... > Maven Projects),它将“准备好 Maven”。

现在,要添加依赖项,请右键单击项目并选择Maven > 添加依赖项)或手动编辑 pom。

PS:如果您使用的是 m2eclipse,请避免使用maven-eclipse-plugin 。绝对不需要它,它会令人困惑,它会产生一些混乱。不,真的,除非你真的知道自己在做什么,否则不要使用它。

于 2010-01-10T16:57:06.743 回答
20

将此添加到 .classpath 文件..

<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
    <attributes>
        <attribute name="maven.pomderived" value="true"/>
    </attributes>
</classpathentry>

谢谢

于 2016-08-08T00:26:48.313 回答
14

右键单击项目配置>转换为Maven项目

然后你可以看到你项目的所有 Maven 相关菜单。

于 2011-11-09T22:12:07.947 回答
11

我是这样的。。

右键项目——>配置——>转换为maven项目。右键项目-->maven-->添加依赖。

于 2013-09-11T21:02:59.270 回答
5

在 Eclipse(火星)中,转到:

项目属性 --> Maven。确保“解决工作区项目的依赖关系”已禁用

于 2015-09-10T06:34:22.110 回答
4

我没有找到 maven 或配置菜单,但找到了解决我的问题的以下按钮:

在此处输入图像描述

于 2014-06-19T20:23:03.257 回答
2

正确安装 m2eclipse 后,它应该会自动添加依赖项。但是,您应该通过输入以下命令生成 eclipse 项目文件:

mvn eclipse:m2eclipse

或者,如果您不使用 m2eclipse:

mvn eclipse:eclipse
于 2010-01-10T14:00:26.497 回答
1

我有一个细微的变化导致了一些问题——一个项目中有多个子项目。在这种情况下,我需要进入每个包含 POM 的单独文件夹,执行 mvn eclipse:eclipse 命令,然后手动将类路径条目复制/合并到我的项目类路径文件中。

于 2011-02-03T01:09:57.400 回答
1

对于较新的 Eclipse 版本 (>=Mars) 右键单击​​项目 > 配置 > 转换为 Maven 项目

于 2016-08-23T08:31:56.533 回答
1

添加我的答案有几个原因:

  • 不知何故,列出的答案都没有直接解决我的问题。
  • 我在 Maven 下找不到“启用依赖管理”。我在 2015 年 2 月 4 日星期三使用 Eclipse 4.4.2 构建。

对我有帮助的是 Maven 下的另一个选项,称为“更新项目”,然后当我单击它时,会打开这个窗口,其中有一个复选框,上面写着“强制更新快照/发布”。我知道这个复选框的真正目的是不同的,但它以某种方式解决了依赖关系问题。 在此处输入图像描述

于 2017-05-18T06:57:27.030 回答
1

这些都没有解决我的问题。但我所做的是如果单击 pom.xml,底部有一个名为依赖项的选项卡。在此选项卡中,它分为 2 个部分,一个称为依赖项,另一个称为依赖项管理。选择依赖项部分中的所有内容,然后单击添加以处于依赖项管理控制之下。关闭并重新打开您的项目。

于 2018-02-15T15:57:43.450 回答
0

也许您可以查看maven-eclipse-plugin而不是 M2Eclipse。

在那里,您基本上将 maven-eclipse-plugin 配置添加到您的 pom.xml 中,然后执行mvn eclipse:eclipse它将为 Eclipse 生成所需的.project文件.classpath。然后,您将在 Eclipse 中拥有正确的构建路径。

于 2010-01-10T14:00:19.913 回答
0

确保您的 POM 遵循命名约定,并以小写字母命名为pom.xmland NOT POM.xml

在我的情况下,一切都是正确的,但 Eclipse 在尝试右键单击时仍然抱怨Update project configuration- 告诉我无法读取 POM。将名称更改为小写 -pom.xmlPOM.xml- 并且它有效。

于 2017-02-27T14:43:55.470 回答
0

我也遇到了这个问题。当我在 中添加依赖项时pom.xml,我签入了本地文件夹/Users/xyz/.m2/并且 jars 已经下载到那里,但是无法添加 eclipse 的构建路径。

我的 Eclipse 版本:Mars.2 Release (4.5.2)

右键单击​​项目> Maven >启用工作区分辨率

这解决了我的问题。

于 2017-06-21T16:25:12.120 回答
0

通常,您可以从工作项目中复制 .classpath 文件,因为假设您的结构是标准 Maven 项目,这里没有任何特定的项目。

于 2017-09-25T20:17:15.917 回答
0

这在 Eclipse Oxygen (4.7.0) 中对我有用:

右键单击 Project -> Maven -> 选择 Maven Profiles... 然后选中 Repository Proxy 框,按 OK。

于 2017-10-13T22:10:46.160 回答