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

时间:2009-05-01 17:50:37

标签: java maven-2 war myeclipse

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

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

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

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

5 个答案:

答案 0 :(得分:3)

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

来自Using Maven in MyEclipse Overview

  

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

答案 1 :(得分:1)

麦克,

很抱歉听到你正在与MyEclipse和Maven战斗,过去我见过的最常见的问题是导致人们在这方面感到痛苦,因为他们没有正确设置Web Root,Java源目录或资源目录。

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

  1. 文件>新>网络项目
  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>偏好> MyEclipse> Maven4MyEclipse并选中“启用所有m2eclipse功能”复选框。
  6. 开箱即用,我们只隐藏可能让Maven混淆第一次使用的位,如果启用所有m2位,你可以用Maven和MyEclipse做任何你想做的事情。如果您在我们的论坛上遇到麻烦,请告诉我们,我们会尽力帮助您。

答案 2 :(得分:1)

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

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

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

我认为Genutec试图让Maven更容易接触新手,但是在实施中存在一些问题,我不认为它们很快会被修复。对我们来说,这可能会将MyEclipse委托给一个花哨的jsp编辑器。

答案 3 :(得分:0)

麦克,

  

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

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

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

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

希望有所帮助, 戴夫

答案 4 :(得分:-1)

麦克,

  

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

这里不是问题;我为一家规模很大的公司工作了很长一段时间(幸运的是,我可能会像以前一样加入WSAD商店 - 不寒而栗。)

无论如何,如果你有一些使用MyEclipse而一些不使用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或几乎任何其他工具中自动获得的工具支持。这只是一个糟糕的默认值。爆炸的WAR格式,由MyEclipse,Eclipse Java EE,WSAD,RAD和其他所有人使用,只是一种更好的解决方案。特别是当它仍然适用于Maven时也很好。

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

戴夫