Java和Maven构建器如何在eclipse中协同工作?

时间:2011-07-26 15:45:43

标签: java eclipse maven m2eclipse

我是否理解正确,Java构建器重新编译scr路径上的源到输出路径,如果激活自动构建或通过“ctrl + b”或从javac抛出验证错误,通常会在每个“ctrl + s”之后发生。

至于Maven2Bulder。我刚刚克隆了m2e-core git存储库,并且有相应的类org.eclipse.m2e.core.internal.builder.MavenBuilder,这是非常复杂的东西。

<projectDescription>
    <name>modeshape-example-repositories</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.m2e.core.maven2Nature</nature>
        <nature>org.eclipse.jdt.core.javanature</nature>
    </natures>
</projectDescription>

我认为它获取pom.xml,m2eclipse变量关于repo location和settings.xml或者当前Run配置的一些配置文件信息和目标/目标,它只是运行mvn这些信息,但它做得更多它会产生意想不到的行为。

顺便说一句,它是否仅在开发人员实际运行为&gt;时使用。一些maven目标......?

1 个答案:

答案 0 :(得分:12)

Maven构建器的主要目的是确保POM文件的正确性并下拉所需的依赖项。如果您保存POM文件,它将出去检查新的依赖项,并在无法找到依赖项时报告错误。

此外,在您从eclipse对项目执行Preferences -> Maven->Goal to run after updating project configuration或更改POM文件并保存后,maven构建器将运行maven构建,达到您在Project->Clean...中设置的目标它来自日食。

Java Builder仍然负责在Problems视图中构建项目和报告编译器错误,为eclipse中内置的jUnit runner提供输入。