【问题标题】:How can I configure and use auto-complete and other Eclipse features within a Maven-managed project?如何在 Maven 管理的项目中配置和使用自动完成功能和其他 Eclipse 功能?
【发布时间】:2013-05-01 13:48:18
【问题描述】:

在我开始学习 Maven 时,这可能是一个非常基本的问题。

通常,我们将jar文件复制到WEB-INF文件夹下的lib文件夹。 Eclipse 使用这些库在编码过程中提供帮助,例如自动导入必要的包,在您按下 时显示类元素。 (点),并使用 Ctrl+Space 等自动完成。

使用maven,在我们构建/编译项目之前,项目中的 jar 不可用。那时,它会下载所有 jar 文件。我不确定 m2eclipse 在这里是否有用。

知道它是如何工作的吗?谷歌搜索没有给我任何信息。

【问题讨论】:

  • 这真的不是一个明确的问题...如果您想了解如何在 Eclipse 中管理基于 Maven 的依赖项,这在 Maven 可用的 Eclipse 插件(m2e 或m2eclipse)。只要您正确地配置了这些,所有标准的 Eclipse 功能都应该像您期望的那样工作。如果问题不是“我如何使用插件”,请以问题的形式重新表述或重新发布问题。
  • 如果我的问题不清楚,我很抱歉。我选择了能回答我问题的答案。我用 cmets 进一步澄清了它。我想这就是我需要的。基本上,eclipse context-help 如何在路径中没有 jar 的情况下工作。因为 Maven 仅在我们构建/编译项目时才会下载它们。意思是,在我们进行构建/编译之前,jar 不可用于 Eclipse。
  • “上下文帮助”是指自动完成功能,还是上下文相关的 javadoc(例如,F2)?
  • 再次抱歉。自动完成。自动导入等
  • 感谢您的澄清!

标签: java eclipse maven m2eclipse m2e


【解决方案1】:

Eclipse 能够加载项目类路径中的类。在非 maven 项目中,我们手动在 Java 构建路径下的项目中添加库,这些库被添加到类路径中。对于 maven 项目,当我们在 pom 中添加依赖项时,eclipse 从 M2_HOME 目录的类路径中添加 jar。保存 pom 后,依赖项会立即下载到 M2_HOME 目录中,并添加到类路径中。

Eclipse m2eclipse 项目的目标是在 Eclipse IDE 中提供 Apache Maven 支持,从而更轻松地编辑 Maven 的 pom.xml、从 IDE 运行构建等等。

【讨论】:

  • 所以当我们编辑和添加对 POM 的依赖时,jars 会立即自动下载,无需编译/构建,eclipse 使用 maven repo 中的这些库来做上下文帮助?
  • 我相信如果您在 Eclipse 中自动启用了构建。如果没有,那么当你构建它时,肯定会下载 jars。 m2eclipse 使您能够通过简单的界面从 eclipse 构建项目以提供构建参数,否则您将必须始终从命令行进行。
  • 但是 Eclipse 如何帮助我上面提到的编码?在开始编码之前我们是否需要构建项目,以便eclipse可以下载所有jar?
  • 也许,只需添加依赖项并进行一次干净的构建。您应该拥有所有需要的 jar 来进行编码。即使您不使用 maven,您也需要在编码之前将 jars 添加到构建路径中。
  • 是的,我知道我们需要在开始编码之前添加 jars。但我有这个问题,因为 Maven 为我们进行了下载。所以我想知道它是如何在没有预先安装 jar 的情况下工作的。
【解决方案2】:

您必须将您的项目作为 Maven 项目(而不是普通的 Java 项目)导入到 Eclipse。然后 m2eclipse 激活并下载库。在 Eclipse 首选项中,您还应该配置 Maven 以下载源代码。

参考Import local Maven projects

【讨论】:

    【解决方案3】:

    你真的不需要 m2eclipse。您可以使用 mvn eclipse:eclipse 目标使库在 IDE 中可见。

    m2eclipse 使在 Eclipse 中使用 Maven 变得更容易(当您从 Eclipse 更改 pom、运行目标等时刷新依赖项)。

    你会发现这个问题很有用:How to configure Eclipse build path to use Maven dependencies?

    【讨论】:

    • 问题是关于 eclipse 如何使用这些库来帮助编码,就像我上面提到的那样。因为这些库在运行 maven 之前不可用。仅当 jar 下载到 repo 和项目时。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-24
    • 2017-04-28
    • 2014-02-25
    • 1970-01-01
    相关资源
    最近更新 更多