为什么 Eclipse/m2e 在执行命令行 Maven 任务时不使用我的计算机的 PATH?

为什么 Eclipse/m2e 在执行命令行 Maven 任务时不使用我的计算机的 PATH?

我的项目使用 Maven 构建系统,Maven 构建包括一个命令行调用来thrift编译一些文件。

在 bash 中,mvn generate-sources成功完成。

但是当我使用 m2e 时Run as... -> generate-sources,Eclipse 控制台日志显示有关二进制文件不在 PATH 中的错误。我该如何纠正 m2e/Eclipse 的用户 PATH 概念?

在最新的 Mac OS X 上使用最新的 Eclipse。

答案1

理由如下:

为什么生成的源文件夹未添加到类路径中

用于从资源或其他源生成源代码的 Maven 插件可以在构建期间向 Maven 项目注册其他源文件夹。通常此类插件绑定到 process-resources(或 process-test-resources)构建阶段(例如 jaxb、modello 或 xdoclet 插件)。这意味着要获取生成源的那些源文件夹,我们必须运行相应的 Maven 构建阶段。

并非所有项目都使用生成的源,因此出于性能原因,M2Eclipse 在项目导入时默认不运行任何 Maven 目标。这可以在 Maven 设置中的“窗口 / 首选项 / Maven / 项目导入时要运行的目标”中更改(例如,您可以在该字段中指定“process-resources”构建阶段或特定插件)。

或者,您可以从项目弹出菜单中运行“Maven / 更新项目配置”操作,该菜单默认配置为运行“process-resources”,也可以在同一首选项页面上进行更改。

参考

相关内容