如何配置Eclipse构建路径以使用Maven依赖项?

Jam*_*win 121 java eclipse ide maven-2 m2eclipse

我想利用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>
Run Code Online (Sandbox Code Playgroud)

通常在管理项目的依赖项时,我会将项目或JAR添加到项目构建路径,然后才能构建我的项目.

但是当使用M2Eclipse时,依赖关系不会自动添加到构建路径中.有什么地方我需要配置它以允许Eclipse知道Maven正在管理依赖项吗?

Buh*_*uhb 113

如果右键单击项目,"maven"下应该有一个"启用依赖关系管理"的选项.而已.

  • 啊,"配置"=>"转换为Maven项目"是你的朋友! (85认同)
  • 它实际上已经为我的项目启用了.也许是因为我选择将POM文件添加到现有项目中?但是,做Maven>更新项目配置似乎已经为我修复了它.也是你的答案最终让我发现了我可以修复项目的工具栏.非常感谢 (28认同)
  • 如果右键菜单中没有"Maven"选项,即使我似乎安装了m2eclipse,该怎么办? (12认同)
  • 如果导入使用mvn eclipse:eclipse创建的项目,m2eclipse默认情况下不会这样做,所以这似乎总是会引起人们的注意. (2认同)
  • 谢谢詹姆斯古德温,这解决了我的问题! (2认同)
  • @dfrankow如果"配置"=>"转换为Maven项目"选项不存在? (2认同)

dav*_*vek 63

如果你执行

mvn eclipse:clean
Run Code Online (Sandbox Code Playgroud)

其次是

mvn eclipse:eclipse
Run Code Online (Sandbox Code Playgroud)

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

  • 使用m2eclipse插件时不需要这样做. (5认同)
  • 我正在使用m2eclipse插件,并在将现有的maven项目导入eclipse后遇到了问题.做`mvn eclipse:clean`和`mvn eclipse:eclipse`实际上为我解决了这个问题. (2认同)

Pas*_*ent 29

我假设你正在使用m2eclipse,因为你提到它.但是,您是否在Eclipse下创建项目尚不清楚,因此我将尝试涵盖所有案例.

  1. 如果您在Eclipse下创建了一个"Java"项目(Ctrl + N> Java项目),则在Package Explorer视图中右键单击该项目 并转到Maven>启用依赖关系管理(根据初始项目结构,您可能已修改它匹配maven的一个,例如通过添加到构建路径上的源文件夹).src/java

  2. 如果您在Eclipse下创建了"Maven项目"(Ctrl + N> Maven项目),那么它应该已经"Maven ready"了.

  3. 如果你创建的Eclipse(手动或使用一个原型)之外的Maven项目,然后简单地导入它在Eclipse(右键单击包资源管理器视图,并选择导入...> Maven项目),这将是"Maven的准备".

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

PS:如果你使用m2eclipse,请避免使用maven-eclipse-plugin.绝对没有必要,它会令人困惑,它会产生一些混乱.不,真的,不要使用它,除非你真的知道你在做什么.

  • 刚刚发现maven-eclipse-plugin是我奇怪的未解决的依赖错误的原因.谢谢! (2认同)

Apu*_*ngh 17

将其添加到.classpath文件中..

<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
    <attributes>
        <attribute name="maven.pomderived" value="true"/>
    </attributes>
</classpathentry>
Run Code Online (Sandbox Code Playgroud)

谢谢


小智 14

右键单击项目Configure> convert to Maven project

然后,您可以看到所有与Maven相关的菜单项目.


mad*_*ati 10

我确实喜欢这个..

右键单击项目 - > configure - >转换为maven项目.右键单击项目 - > maven - >添加依赖项.


Tho*_*eer 5

在Eclipse(火星)中去:

项目属性 - > Maven.确保禁用 "从工作空间项目中解析依赖项" .