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

问题

我想利用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正在管理依赖项吗?


#1 热门回答(105 赞)

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


#2 热门回答(59 赞)

如果你执行

mvn eclipse:clean

其次是

mvn eclipse:eclipse

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


#3 热门回答(28 赞)

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

  • 如果你在Eclipse下创建了一个"Java"项目(Ctrl N> Java Project),则在Package Explorer视图中右键单击该项目并转到Maven>启用依赖关系管理(根据初始项目结构,你可能已修改它匹配maven的一个,例如通过将src / java添加到构建路径上的源文件夹)。
  • 如果你在Eclipse(Ctrl N> Maven Project)下创建了"Maven项目",那么它应该已经"Maven ready"了。
  • 如果你在Eclipse之外创建了一个Maven项目(手动或使用原型),那么只需在Eclipse中导入它(右键单击Package Explorer视图并选择Import ...> Maven Projects)它将是"Maven ready"。

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

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