什么';这是“什么?”;“正确”;使用maven为web应用程序构建eclipse项目的方法?

什么';这是“什么?”;“正确”;使用maven为web应用程序构建eclipse项目的方法?,eclipse,maven,eclipse-wtp,Eclipse,Maven,Eclipse Wtp,我正在尝试使用Eclipse构建一个新的web应用程序,我想使用SpringWeb服务和Hibernate,所以我想我应该尝试使用Maven而不是Ant,这样我就不必手动跟踪所有的JAR文件。这就是我所做的 我有一个新的eclipse工作区,我使用eclipse Marketplace安装Maven for WTP特性 我试过两种方法,我真的不知道“正确”的方法。非常感谢您的帮助 尝试一: 创建了一个新的Maven项目,不确定我在做什么,但我选择了“Maven原型webapp”。它创建了一个具有

我正在尝试使用Eclipse构建一个新的web应用程序,我想使用SpringWeb服务和Hibernate,所以我想我应该尝试使用Maven而不是Ant,这样我就不必手动跟踪所有的JAR文件。这就是我所做的

我有一个新的eclipse工作区,我使用eclipse Marketplace安装Maven for WTP特性

我试过两种方法,我真的不知道“正确”的方法。非常感谢您的帮助

尝试一:

创建了一个新的Maven项目,不确定我在做什么,但我选择了“Maven原型webapp”。它创建了一个具有不同(maven esq)文件结构的eclipse项目。我将SpringWeb作为依赖项添加到pom.xml文件中。我可以在eclipse中运行web应用程序并查看hello world页面;“maven安装”下载依赖项并生成war文件。然而,随后我尝试添加一个Java类“PersonController.Java”,并将其注释为@Controller(等等),但eclipse似乎没有认识到PersonController.Java是一个Java类。例如,我无法生成getter/setter或使用重构工具重命名,eclipse会给我一个类似“资源不在Java项目的构建路径中”的错误

最后,我觉得maven文件结构与eclipse所期望的太不一样了,eclipse的基本特性似乎有些混乱。当然,我完全有可能做错了什么

尝试二:

在Eclipse中创建了一个新的“动态Web项目”,一切如预期,我可以很好地运行我的Web应用程序。现在我想添加Spring库作为Maven依赖项,并能够使用Maven构建项目,因此我想我需要一个pom.xml文件。文件>新建。。。这似乎不能帮助我创建Maven pom.xml文件,我想如果我只是手动创建该文件,可能不会起作用。因此,我不确定如何继续向我的“动态Web项目”添加maven支持

所以我在这里。。。有人能帮忙吗。。。做我想做的事情的“正确”方式是什么?马文值得这么麻烦吗


谢谢

我经常这样做,没有太多问题——是的,Maven当然值得麻烦(尽管我在这里肯定不同意:-)

我会扩展您的尝试#1-但是为了提供您可能需要的详细信息,我们需要查看您的pom.xml和项目文件夹结构。我的猜测是Maven希望您的Java源代码在
src/main/Java
下,但您仍然将源代码放在类似
JavaSource
的地方

在任何情况下,请确保您使用的是Eclipse的最新版本(Indigo/3.7.1)、m2e(最新和最好的版本,以前称为m2eclipse)以及Eclipse市场上的“Maven Integration for WTP”


最后,我会遵循Maven的惯例。在我与Maven的第一轮谈判中,我认为我比Maven的标准更聪明,并使用了我自己的标准——这实际上是Eclipse默认值的混合。然而,我很快确定Maven的默认设置更适合我的大多数需求,并且它们更像是一个标准,可以轻松跨IDE(甚至没有IDE)工作。

我经常这样做,没有太多问题-是的,Maven当然值得麻烦(尽管我在这里肯定不同意:-)

我会扩展您的尝试#1-但是为了提供您可能需要的详细信息,我们需要查看您的pom.xml和项目文件夹结构。我的猜测是Maven希望您的Java源代码在
src/main/Java
下,但您仍然将源代码放在类似
JavaSource
的地方

在任何情况下,请确保您使用的是Eclipse的最新版本(Indigo/3.7.1)、m2e(最新和最好的版本,以前称为m2eclipse)以及Eclipse市场上的“Maven Integration for WTP”


最后,我会遵循Maven的惯例。在我与Maven的第一轮谈判中,我认为我比Maven的标准更聪明,并使用了我自己的标准——这实际上是Eclipse默认值的混合。然而,我很快确定Maven的默认设置更适合我的大多数需求,而且它们更像是一种标准,可以轻松跨IDE(甚至没有IDE)工作。

我不会说有一种正确的方法,因为不是每个人都想使用Maven原型,这是我修复遗留web应用程序的经验。对于第二种方法,您需要m2eclipse插件来添加maven支持(如果没有,还需要自动创建pom文件)


至于是否值得麻烦呢?您必须根据您正在处理的项目类型以及您愿意在多大程度上使用maven来评估自己。一旦您通过了最初的学习曲线,这无疑是管理共享依赖关系的一个好方法。如果你想尽可能地遵循maven惯例,这也是最好的时机(或者弄清楚如何去做),因为它以后会变得更加昂贵。

我不会说有一种正确的方法,因为不是每个人都想使用maven原型,这是我修复遗留web应用程序的经验。对于第二种方法,您需要m2eclipse插件来添加maven支持(如果没有,还需要自动创建pom文件)

至于是否值得麻烦呢?您必须根据您正在处理的项目类型以及您愿意在多大程度上使用maven来评估自己。一旦您通过了最初的学习曲线,这无疑是管理共享依赖关系的一个好方法。如果你想尽可能地遵循maven的惯例,这也是最好的时机去做(或者弄清楚如何做),因为它以后会变得更加昂贵。

hi--thx--对于尝试2,我现在已经安装了m2e--我该怎么做