Eclipse Maven、Tomcat/Glassfish、原型的高效开发周期?

Eclipse Maven、Tomcat/Glassfish、原型的高效开发周期?,eclipse,hibernate,spring,jsf,maven,Eclipse,Hibernate,Spring,Jsf,Maven,到目前为止,我一直在使用tomcat和glassfish开发一个测试webapp,没有maven。通常的开发到部署周期很简单: 在EclipseIDE中使用WebContent文件夹进行开发,WebContent文件夹是根webapp文件夹,其中包含WEB-INF、WEB.xml、WEB-INF/lib、n all。eclipse中已编译类的位置设置为WEB-INF/classes 编码完成后,我只需在glassfish管理控制台中单击该特定Web应用程序的重新加载按钮。在tomcat中,我相信

到目前为止,我一直在使用tomcat和glassfish开发一个测试webapp,没有maven。通常的开发到部署周期很简单:

  • 在EclipseIDE中使用WebContent文件夹进行开发,WebContent文件夹是根webapp文件夹,其中包含WEB-INF、WEB.xml、WEB-INF/lib、n all。eclipse中已编译类的位置设置为WEB-INF/classes

  • 编码完成后,我只需在glassfish管理控制台中单击该特定Web应用程序的重新加载按钮。在tomcat中,我相信它也在tomcat管理器中

  • 我可以在浏览器中访问web应用程序

  • 现在,如果我想创建一个新的webapp,它将使用jsf、spring、jpa、hibernate和postgresql的最新技术:

  • 在创建项目时,我应该使用什么样的原型建议

  • 我还可以使用以前的开发步骤吗?因为我认为这非常简单,无需将所有内容重新打包到war文件中,也无需每次测试时都将其复制到tomcat的webapp文件夹中。在eclipse中保存文件,点击管理控制台/tomcat管理器中的重新加载,我可以立即测试更新的webapp

  • 或者你通常在webapp开发周期中做什么?请分享您的经验,=)

    谢谢大家!

    对于第二季度:

    即使更改了目录结构,您仍然可以在IDE(eclipse)中使用tomcat运行/调试应用程序。(类似于maven目录结构,而不是eclipse的动态web目录结构)

    您不必每次都打包以运行/调试它

    另一个选择是使用码头


    我相信其他人也会告诉我更多的选择。

    与Maven和朋友的开发周期

  • 使用Maven驱动代码构建测试部署发布周期
  • 从最适合你的网络应用开始。这将为您创建整个文件夹结构,并添加Jar依赖项
  • 使用嵌入式轻量级服务器,例如,在开发人员的机器上运行速度非常快,不会占用资源,并且高度可配置。另外,您可以将其设置为自动重新加载更改
  • 大多数Maven项目都应该是测试驱动的。其中Maven负责使用它的。因此,每个构建都有一个测试阶段
  • 您可以为各种环境(测试、开发、产品、Win、Unix..)定义多个配置文件。这些配置文件将改变项目的行为,使其与环境兼容
  • 再次使用Maven插件在测试或生产服务器上部署构建,可以是Glassfish、Tomcat、Jetty或任何oter Web服务器
  • 使用:)以与管理代码更改相同的方式管理数据库更改
  • 我来自于和你们在我以前的公司几乎相似的项目。Maven的开发使事情变得如此顺利,变化是可以感知的


    谷歌的一个小搜索显示,有人已经在为


    编辑#1--添加更多详细信息

    可行性和易用性

    • Maven
      的诞生是为了简化大型分布式代码的开发过程
    • Maven与Eclipse的集成非常好——因此它是无痛的
    • Jetty一直监视源文件夹,因此几乎可以立即部署您的更改
    • 您可以自定义生成以跳过测试,而不是生成依赖项。当您刚刚编辑一个UI组件时,Jetty会自动将其复制到“目标”文件夹中
    • 如果您担心复制和重新部署。您必须了解工作的效率,记住不必每次更改JSP或HTML时都编译TestDeploy
    也就是说,我想提一提Maven可能是一门挑战性的学问。可以说,这是一种面向对象的开发周期方式。我们中的大多数人,习惯于构建脚本,一开始会觉得有点乏味/冗长

    资源

    我建议浏览以下资源

    • -Maven基础知识
    • 如果可以,请按照这个模式进行操作
    • 这本书真的帮了我们很大的忙

    在您提到的开发周期中,IDE/editor中的一段代码,使用maven在服务器上进行测试、构建、打包和重新部署,对吗?以我原始且缺乏经验的思维方式,当项目不断发展,拥有大量的类、大量的测试用例时,我更愿意跳过编译或将大量文件复制到webapp文件夹(i/o可能会非常慢,并且会增加周期的数量),当我只是编辑用户界面类或一些简单的东西时,也许我也想跳过测试,这样我就不需要每次都重新运行所有测试了。@Albert Kam补充了更多细节谢谢你的详细解释。对我来说,你提到的一些新东西,比如货物、个人资料、码头、液化石油。刚刚使用cargo成功地将一个简单的webapp部署到Tomcat7。我必须使用tomcat对有效的生命周期进行更多的实验。我想尝试jetty,但我不确定,因为计划中的部署者是Tomcat7,我怀疑使用jetty开发并最终将其投入Tomcat7生产是否是个好主意。再次感谢!=)@Albert Kam我们还将应用程序部署在Tomcat6中。但是,我们在项目的pom.xml中嵌入了Jetty。这样,开发人员就不必在他的机器上安装服务器。另外,所有Jetty配置都封装在pom.xml中——因此,一个新的开发人员只需从SVN检查项目,就可以开始了。零安装。另一方面,我们的测试部署器POM.xml使用Cargo部署在远程Tomcat-6服务器上,这是我们的官方测试服务器。顺便说一句:Eclipse STS 2.5.2.RELEASE Changlog(从今天开始)提到了一个新特性,称为“基于代理的重新加载”。它应该在不重新启动的情况下更新Dev服务器中的应用程序。
    Project properties - > 
    project facets - > 
    Dynamic Web Module -> 
    Click the appearing "further configuration available" 
    and set your content dir and context root.