2

我的组织做出了上层决定,将 maven 作为 Java 项目的标准构建工具。我的任务是帮助我们的本地团队将项目迁移到 maven。

正在发挥作用的核心工具之一是 MyEclipse IDE。MyEclipse 似乎与 maven 团队有一段“有趣”的历史,这在各个地方都得到了证明,尤其是在处理战争项目时。我还没有遇到简单的 jar 项目的问题……还没有。

在与 MyEclipse 斗争并且未能使其轻松识别战争项目之后,问题就变成了,MyEclipse 是否值得开发 maven 战争应用程序?

如果是这样,有没有办法让 MyEclipse 与我没有找到的战争项目很好地配合?或者,我是否只是建议将 Eclipse Java EE 版本与 m2eclipse 一起使用更好?

4

5 回答 5

3

不。MyEclipse 不支持在它之外创建的项目。它的设计仅适用于使用其向导创建的项目。

来自在 MyEclipse 中使用 Maven 概述

注意:Maven 仅支持新项目。目前不支持将现有项目迁移到支持 Maven 的项目,但可能会考虑在以后的版本中使用。目前,MyEclipse 团队专注于提供尽可能流畅的新 Maven 项目体验

于 2009-05-01T18:16:07.090 回答
1

麦克风,

很遗憾听到您在与 MyEclipse 和 Maven 作斗争,过去我见过的最常见的导致人们在这方面痛苦的问题是当他们没有正确设置 Web 根、Java 源目录或资源目录时。

使用此网页作为标准 Maven2 Web 项目布局的参考,您可以轻松创建启用 Maven 的 MyEclipse Web 项目。您要采取的步骤如下:

  1. 文件 > 新建 > Web 项目
  2. 为您的项目命名,使用“src/main/java”的 Java 源目录和“src/main/webapp”的 Web Root,检查所需的 Java EE 规范级别,选中“添加 Maven 支持”复选框并点击完成(除非您想设置工件/组 ID)。
  3. 现在,如果这是第一次使用 Maven4MyEclipse,将进行大量初始化,准备本地存储库并获取所有 Java EE 资源来构建项目,但完成后,您应该已准备就绪。
  4. 您可以从右键单击 Run As 或 Debug As 菜单执行 Maven 目标,甚至可以使用“Maven build...”快捷方式管理自定义目标执行——这都类似于 m2eclipse。
  5. 如果您决定要完全使用 m2eclipse,您可以导航到 Window > Preferences > MyEclipse > Maven4MyEclipse 并选中“Enable all m2eclipse features”复选框。

开箱即用,我们只隐藏了可能使 Maven 对初学者感到困惑的位,如果您启用所有 m2 位,您可以使用 Maven 和 MyEclipse 做任何您想做的事情。如果您仍然遇到问题,请访问我们的论坛并告诉我们,我们将尽我们所能提供帮助。

于 2009-05-07T20:52:42.483 回答
1

我是一名技术主管,我们最近开始转向 Maven。我在让 maven 与 myeclipse 一起工作时遇到了一些问题。首先,即使我“启用所有 m2eclipse 功能”复选框,我仍然无法从 subversion 中将项目签出为 maven 项目。该选项(您从 m2eclipse 获得)只是不可用。

此外,您使用 m2eclipse 获得的某些首选项不适用于 maven4myeclipse。

最后,我不能只卸载 maven4eclipse 插件并安装 m2eclipse。那将是一个可以接受的解决方法。

我认为 Genutec 试图让 Maven 更容易被新手使用,但在实施中存在一些问题,我认为它们不会很快得到解决。对我们来说,这可能会让 MyEclipse 成为一个花哨的 jsp 编辑器。

于 2009-06-16T02:30:09.873 回答
0

麦克风,

认为问题在于该项目已经在 MyEclipse 之外创建并且 > 使用命令行通过 maven 工作。导入不成功。

我在寻找其他 Maven 资源时看到了这篇文章,所以我会插话。

为什么不使用 File > Import 导入现有项目并打开所有 m2eclipse 功能并像使用 maven 命令行工具之前一样继续开发它?我已经这样做了,它适用于遗留项目,一旦启用 m2eclipse 功能,如 Riyad 的 #5 中所述。

就个人而言,我一直认为 maven 战争格式已经失败,但我们仍然有一些旧项目在使用它。Maven 的格式只是一种默认(而且很差),而不是某种标准。然而,我们目前将这些旧项目“保持原样”(使用上述技术)只是因为它很容易。但是对于新工作,我们使用 MyEclipse Web 项目,然后在它们上启用 Maven 支持。好处是您获得了所有 Maven 支持,而且它非常易于使用和管理,但不再需要命令行(尽管它仍然有效),并且所有 MyEclipse 工具也可以在它们上完美运行。这是一种“两全其美”的方法,至少对我们来说是这样。YMMV。

希望有帮助,戴夫

于 2009-05-08T13:20:55.317 回答
-1

麦克风,

有趣的是,当您的开发人员不使用 MyEclipse 时会发生什么?

这里不是问题;我为一家非常大的公司工作,该公司已经标准化了很长一段时间(幸运的是,我可能会补充一点,因为我们曾经是一家 WSAD 商店——不寒而栗。)

无论如何,如果您有一些使用 MyEclipse 和一些不使用,我会看到两个选项。首先,如果您创建 MyEclipse Web 项目,然后向它们“添加 Maven 功能”(或任何名称),它们将在 MyEclipse 和 Maven 命令行中工作。因此,即使您不使用 MyEclipse,您仍然可以使用命令行 Maven 工具。此外,由于 MyEclipse 结构是更标准的“爆炸式战争”布局,因此它也应该适用于您使用的其他任何东西。

要考虑的另一件事是 Maven 的 Web 布局只是一个默认设置,Maven 可以轻松支持任何项目结构,包括 MyEclipse 使用的那个,因此您应该能够在任何工具中使用带有 Maven 的 MyEclipse 项目,只需一点额外的配置。这很可能是 Maven 命令行工具仍然可以在 MyEclipse Web 项目上工作的原因——MyEclipse 人员只是自动配置 Maven 以识别格式。

正如我在上一篇文章中所说,您也可以只导入外部创建的 Maven Web 项目。我们不喜欢这样做,因为这种结构是 Maven 独有的,并且不能与除 Maven 之外的任何工具一起使用。结果,它基本上破坏了您在 MyEclipse、Eclipse Java EE 或几乎任何其他工具中自动获得的工具支持。这只是一个糟糕的默认值。MyEclipse、Eclipse Java EE、WSAD、RAD 和其他所有人使用的 Exploded WAR 格式只是一个更好的解决方案。尤其是当它仍然可以与 Maven 一起工作时。

Maven 可以灵活地适应项目结构。我们刚刚发现,通过使用这种灵活性,您可以获得 Maven 支持和强大的工具支持。

戴夫

于 2009-05-08T15:43:51.650 回答