首页 文章

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

提问于
浏览
115

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

18 回答

  • 14

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

  • 61

    如果你执行

    mvn eclipse:clean
    

    其次是

    mvn eclipse:eclipse
    

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

  • 107

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

    • 如果您在Eclipse下创建了"Java"项目(Ctrl N> Java项目),那么 Package Explorer 视图中的 right-click 项目并转到 Maven > Enable Dependency Management (根据初始项目结构,您可能会修改它以匹配maven的项目,例如通过将 src/java 添加到构建路径上的源文件夹中) .

    • 如果您在Eclipse(Ctrl N> Maven Project)下创建了“Maven项目”,那么它应该已经“Maven ready”了 .

    • 如果您在Eclipse之外创建了一个Maven项目(手动或使用原型),那么只需在Eclipse中导入它( right-click Package Explorer 视图并选择 Import... > Maven Projects ),它就是"Maven ready" .

    现在,要添加依赖项,要么 right-click 项目并选择 Maven > Add Dependency )或手动编辑pom .

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

  • 0

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

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

  • 0

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

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

    谢谢

  • 4

    我确实喜欢这个..

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

  • 2

    在Eclipse(火星)中去:

    项目属性 - > Maven . 确保"Resolve dependencies from workspace projects"是 disabled .

  • 9

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

    enter image description here

  • 0

    当m2eclipse正确安装时,它应该自动添加依赖项 . 但是,您应该输入以下命令来生成eclipse项目文件:

    mvn eclipse:m2eclipse
    

    或者,如果你不使用m2eclipse:

    mvn eclipse:eclipse
    
  • 1

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

  • 5

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

  • 14

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

    • 不知怎的,所列出的答案都没有直接解决我的问题 .

    • 我在2015年2月4日星期三使用Eclipse 4.4.2构建时无法't find 2547927 under Maven. I' .

    帮助我的是Maven下的另一个选项叫"Update Project"然后当我点击它时会打开这个窗口,其中有一个复选框,上面写着"Force update of Snapshot/Releases" . 这个复选框的真正目的是不同我知道,但它以某种方式解决了依赖问题 .
    enter image description here

  • 0

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

  • 1

    也许你可以调查maven-eclipse-plugin而不是M2Eclipse .

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

  • 1

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

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

  • 1

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

    我的日食版: Mars.2 Release (4.5.2)

    right click project > Maven > Enable Workspace Resolution

    这解决了我的问题 .

  • 0

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

  • 28

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

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

相关问题