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

lis*_*sak 15 java eclipse m2eclipse maven

我是否理解正确,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>
Run Code Online (Sandbox Code Playgroud)

我认为它获取pom.xml,m2eclipse变量关于repo位置和settings.xml或一些配置文件信息和当前Run配置的目标/目标,它只是运行mvn与这些信息,但它做了更多,它可以产生意外的行为.

顺便说一下,它只用于开发人员实际运行>某些maven目标......?

Rya*_*oss 12

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

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

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

  • 在构建时,我没有在Preferences> Maven中看到任何关于目标的选项.这意味着当我保存pom,构建/清理项目时,MavenBuilder会运行吗?那么java构建器,它应该在ctrl + b不运行时运行?或者它只在我在src路径上保存*.java文件时运行? (4认同)
  • 我只是控制台,并且在执行eclipse项目清理时没有输出...仅在一小部分时间内在Progress视图中发生了一些事情 (3认同)
  • 在m2e插件的最后一个版本中,语音菜单`Preferences> Maven> Goals`不再存在,还有其他解决方案吗? (2认同)