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

2022-09-03 07:24:14

我是否正确理解,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变量.xml或者当前Run配置的一些配置文件信息和目标/目标,它只是用这些信息运行mvn,但它做了更多的事情,它可能会产生意想不到的行为。

顺便说一句,它是否仅在开发人员实际运行时使用,>一些专家的目标......?


答案 1

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

此外,maven 构建器将运行一个 maven 构建,直到您从 eclipse 对项目执行 a 或对 POM 文件进行更改并从 eclipse 中保存它后,您设置的目标。Preferences -> Maven->Goal to run after updating project configurationProject->Clean...

Java Builder仍然负责构建项目并在“问题”视图中报告编译器错误,以便为eclipse中的内置jUnit运行器提供输入等。


答案 2

推荐