在MyEclipse中开发Maven战争应用程序值得吗?

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

其中一个核心工具是MyEclipse IDE。 MyEclipse似乎与maven团队有着“有趣”的历史,在各个地方都有证据 ,特别是在处理战争项目时。 我还没有遇到过简单jar项目的问题……

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

如果是这样,有没有办法让MyEclipse与我没有找到的战争项目很好地配合? 或者,我最好建议花时间在m2eclipse上使用Eclipse Java EE版本吗?

不,MyEclipse不支持在其外部创建的项目。 它只是设计用于使用其向导创建的项目。

来自MyEclipse概述中的使用Maven

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

麦克风,

很抱歉听到你正在与MyEclipse和Maven作斗争,过去我见过的最常见问题是导致人们在这方面感到痛苦,因为他们没有正确设置Web Root,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 complete,可以导航到Window> Preferences> MyEclipse> Maven4MyEclipse并选中“Enable all m2eclipse features”复选框。

开箱即用,我们只隐藏可能让Maven混淆第一次使用的位,如果启用所有m2位,你可以用Maven和MyEclipse做任何你想做的事情。 如果您在我们的论坛上遇到麻烦,请告诉我们,我们会尽力帮助您。

麦克风,

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

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

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

就个人而言,我一直认为maven战争格式是一个半身像,但我们仍然有一些旧项目使用它。 Maven的格式只是一个默认格式(而且是一个不好的格式),而不是某种标准格式。 但是,我们目前将这些旧项目“按原样”(使用上述技术)留下,因为它很容易。 但是对于新工作,我们使用MyEclipse Web项目,然后只对它们启用Maven支持。 好处是你获得了Maven的所有支持,并且它非常易于使用和管理,但是没有更多的命令行(虽然它仍然有效),并且所有MyEclipse工具也能完美地运行它们。 这是“两全其美”的方法,至少对我们来说是这样。 因人而异。

希望有所帮助,戴夫

麦克风,

有趣的是,如果开发人员没有使用MyEclipse,会发生什么?

这不是问题; 我为一家规模很大的公司工作了很长一段时间(幸运的是,我可能会加入,因为我们曾经是一家WSAD商店 – 不寒而栗。)

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

另外需要考虑的是Maven的Web布局只是一个默认设置,Maven可以轻松支持任何项目结构,包括MyEclipse使用的项目结构,所以你应该能够在任何工具中使用MyEclipse项目,只需要一点额外的配置。 这可能就是为什么Maven命令行工具仍然适用于MyEclipse Web项目 – MyEclipse人员只是自动配置Maven来识别格式。

您也可以像我在上一篇文章中所说的那样导入外部创建的Maven Web项目。 我们不喜欢这样做,因为该结构是Maven独有的,除了Maven之外不能使用任何工具。 因此,它基本上会破坏您在MyEclipse,Eclipse Java EE或几乎任何其他工具中自动获得的工具支持。 这只是一个糟糕的默认值。 爆炸的WAR格式,由MyEclipse,Eclipse Java EE,WSAD,RAD和其他所有人使用,只是一个更好的解决方案。 特别是当它仍然适用于Maven时也很好。

Maven被赋予了对项目结构的灵活性。 我们刚刚发现,通过使用这种灵活性,您可以获得Maven支持和出色的工具支持。

戴夫