我制作了简单的 maven 项目,并用 Eclipse 打开它。我已经为 Eclipse 安装了 Maven 插件。我对以下感兴趣:
- 当我点击保存源代码时 Eclipse 如何编译代码(它是否使用来自 ant 或 maven 或其他东西的配置)?
- 当我从 Eclipse 的 JUnit 插件运行测试时,那些 Eclipse 调用mvn test(我想不是,但究竟发生了什么)?
- maven 是否有可能成功构建但 Eclipse 显示代码错误?
Eclipse的Maven 集成使编辑 POM 文件变得更加容易,允许您从 Eclipse 中执行 Maven 构建并帮助进行依赖管理。它实际上并不编译您的代码(当然,除非您从 Eclipse 中执行 maven 构建)。主要帮助是依赖管理和在 Eclipse 中编写项目的.classpath文件。
尝试回答您的问题:
Eclipse 使用其标准机制来编译代码。使用适用于 Java 开发人员的标准 Eclipse,您的项目将具有Java 项目性质,然后 Eclipse 将使用Java 开发工具 - JDT来编译代码。(在内部这使用增量构建器来构建代码http://help.eclipse.org/juno/index.jsp?topic=%2Forg.eclipse.platform.doc.isv%2Fguide%2FresAdv_builders.htm)。它将编译哪些源文件以及将结果.class
文件放置在您项目的 Java 构建路径中的位置(我猜 maven 插件可能会为您配置)
JUnit 支持也是 Java 开发工具的一部分。
maven 可能会在 Eclipse 之外成功构建项目,但同一项目将在 Eclipse 中显示错误。这通常归结为类路径错误(在项目的 POM 中定义的依赖项未添加到 Eclipse 中的类路径中)。如果您在 Eclipse 中使用 maven 插件,这可能不应该发生。如果您没有在 eclipse 中使用 maven 插件,您可以执行maven eclipse:eclipse
让 maven 更新项目的 Eclipse .classpath文件,这应该可以解决任何这些问题。