在Eclipse *中执行“mvn dependency:tree”*

时间:2014-02-22 09:35:27

标签: java eclipse maven

我有一个Maven项目,我在Eclipse中编程。在Eclipse中,一切正常,但是当使用Maven构建它时,我在调用第三方jar时得到NoSuchMethodError。所以我怀疑Eclipse在编译时会使用不同版本的jar。我可以看到Maven使用的版本,但我想看看 Eclipse 使用的版本。我没有看到如何在Eclipse中执行“mvn dependency:tree”,这样我就会看到结果形式为“Eclipse的观点”。

该项目是使用“文件/导入... /现有Maven项目”创建的。

我正在使用“Eclipse IDE for Java Developers”,版本:“Kepler Service Release 1”

要从Eclipse执行任何 Maven命令,我刚刚找到this SO question

4 个答案:

答案 0 :(得分:11)

打开您想要了解的pom.xml。这是一个多窗格编辑器。其中一个窗格显示了依赖关系及其解析方式。

答案 1 :(得分:3)

确保安装了m2e(以前称为m2eclipse)插件。 如果Eclipse以纯文本形式打开pom.xml,则单击pom.xml并单击鼠标右键以显示弹出菜单。你会看到“打开方式” - > “Maven POM编辑”。 在Maven Pom Editor中,您可以在“依赖关系”或“依赖关系层次结构”中检查这些依赖关系。

答案 2 :(得分:0)

检查您的.classpath文件,并修改在“ classpathentry”下添加“ attributes”的属性,以在构建路径中使用maven依赖项。

以下是.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">
        <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"/>
            <attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
        </attributes>
    </classpathentry>

答案 3 :(得分:0)

如下所示,打开pom.xml并在“ Dependency Hirarchy”标签上

maven pom dependency hierrchy