繁体   English   中英

Eclipse项目中缺少Maven依赖项

[英]Maven dependencies missing in Eclipse project

我在Eclipse上创建了一个maven项目,但缺少maven依赖库,但是当我转到project-> properties时:Java Build Path我可以看到maven依赖库。

因此,当我想生成项目时,maven依赖项缺失,我有BUILD SUCCESS但没有创建。

当您尝试将Java项目转换为Maven项目时,Eclipse有时会隐藏项目和类路径文件。 另外,仔细检查是否安装了Maven插件(m2e)。 该插件是Eclipse Java的默认设置,但不是Eclipse EE的默认设置。

如果包含以下Maven参考,请检查“.project”文件。

<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
    <name>sample</name>
    <comment></comment>
    <projects>
    </projects>
    <buildSpec>
        <buildCommand>
            <name>org.eclipse.jdt.core.javabuilder</name>
            <arguments>
            </arguments>
        </buildCommand>
        <buildCommand>
            <name>org.eclipse.m2e.core.maven2Builder</name>
            <arguments>
            </arguments>
        </buildCommand>
    </buildSpec>
    <natures>
        <nature>org.eclipse.jdt.core.javanature</nature>
        <nature>org.eclipse.m2e.core.maven2Nature</nature>
    </natures>
</projectDescription>

另外,仔细检查您的类路径。

<?xml version="1.0" encoding="UTF-8"?>
<classpath>
    <classpathentry kind="src" output="target/classes" path="src/main/java">
        <attributes>
            <attribute name="optional" value="true"/>
            <attribute name="maven.pomderived" value="true"/>
        </attributes>
    </classpathentry>
    <classpathentry kind="src" output="target/test-classes" path="src/test/java">
        <attributes>
            <attribute name="optional" value="true"/>
            <attribute name="maven.pomderived" value="true"/>
        </attributes>
    </classpathentry>
    <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5">
        <attributes>
            <attribute name="maven.pomderived" value="true"/>
        </attributes>
    </classpathentry>
    <classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
        <attributes>
            <attribute name="maven.pomderived" value="true"/>
        </attributes>
    </classpathentry>
    <classpathentry kind="output" path="target/classes"/>
</classpath>

打开项目的上下文菜单 - > Maven - > Update Projects...并选择您的项目。 然后Maven会刷新一切。

如果此项不可用,则Eclipse的m2e插件未将您的项目识别为Maven项目。 如果是这样,请转到上下文菜单 - > Configure - > Maven Nature

还尝试从命令行构建项目,以确保您的POM实际工作。

如果您缺少依赖项,请检查POM( pom.xml )并确保它们在那里。 要验证您的依赖项,请打开POM编辑器并选择“Dependency Hierarchy”选项卡(位于底部)以获取概述。

检查项目属性 - >部署程序集中是否列出了Maven依赖项,它应该类似于: 在此输入图像描述

不幸的是,这里没有太多信息,如果有可能,我建议你添加pom.xml文件,以便我们可以查看它来诊断确切的问题。

在黑暗中,如果你没有使用jar作为你的包装,eclipse可以将maven依赖项移动到界面中的不同文件夹中。 例如'war'包将他们的maven依赖项移到“java resources / Libraries”下

通常,构建的项目位于“目标”文件下。

这些只是猜测,如果没有其他信息,我无法告诉你任何结论,对不起

打开eclipse项目中的.classpath文件。 插入以下行:

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

然后,在eclipse重建你的项目。
Project->Clean/Build

在上下文菜单中将项目转换为Maven项目。 这就是我修复它的方式。

还有一件事要尝试:

今天我使用eclipse RAD得到了这个,当我确实有Maven的性质和方面,并且已经遵循了上面列出的所有补救步骤。

Eclipse简单地认为我没有有效的 maven依赖项,并且没有在导航器窗口中显示“Maven Dependencies”元素,即使是空节点也是如此。 将我的一个 POM依赖项上的版本整理到它可以找到的版本,使得“Maven Dependencies”元素神奇地出现在一个预期的子节点上。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM