首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Maven,Tomcat/Glassfish,原型的高效开发周期?

使用Maven,Tomcat/Glassfish,原型的高效开发周期?
EN

Stack Overflow用户
提问于 2011-01-11 14:51:48
回答 2查看 1.6K关注 0票数 5

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

  1. 在eclipse中使用WebContent文件夹进行开发,该文件夹是具有WEB、web.xml、WEB/lib、n的根webapp文件夹。eclipse中已编译的类位置被设置为WEB/ classes。
  2. 编码后,我只需单击glassfish管理控制台中的reload按钮,即可获得特定的webapp。在tomcat中,我相信它也在tomcat经理中重新加载。
  3. 我可以在浏览器中访问web应用程序。

现在,如果我想创建一个新的webapp,它将利用jsf、spring、jpa、hibernate、postgresql的最新内容:

  1. 在创建项目时,我应该使用什么原型建议?
  2. 我还可以使用前面的开发步骤吗?因为我认为这很容易,不用每次我想测试的时候都要将所有东西重新打包到war文件中,或者复制到tomcat的webapp文件夹中。保存eclipse中的文件,点击管理控制台/ tomcat管理器中的重新加载,我就可以立即测试更新的webapp。

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

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-01-11 15:08:10

开发周期与Maven和朋友

  1. 使用Maven来驱动您的代码构建测试部署发布周期。
  2. 从最适合你的网络应用程序的Maven原型开始。这将为您创建整个文件夹结构,并将添加Jar依赖项。
  3. 使用像防波堤这样的嵌入式轻量级服务器,这在开发机器上是非常快速的,不会占用资源,而且是高度可配置的。另外,您还可以将其设置为自动重新加载更改。
  4. 大多数Maven项目应该是测试驱动的。其中Maven负责使用它的万无一失插件。因此,每个构建都有一个测试阶段。
  5. 您可以为各种环境定义多个配置文件(test、dev、prod、Win、Unix.)。这些简介将改变项目的行为,使其与环境兼容。
  6. 使用 (同样是一个Maven插件)在测试或生产服务器上部署您的构建,该服务器可以是Glassfish、Tomcat、Jetty或任何一个脚本test服务器。
  7. 使用有或没有Maven的Liquibase :)管理数据库更改的方式与管理代码更改的方式相同。

我来自与你在前一家公司几乎类似的项目。使用Maven进行开发可以使事情变得非常顺利,而且这种变化是值得注意的。

谷歌搜索显示,有人为JSF和JPA与Spring设计了原型

Edit#1 --添加了更多细节

的可行性和易用性

  • Maven的诞生是为了简化大型和分布式代码的开发过程。
  • Maven与Eclipse集成得很好--所以它是无痛的。
  • Jetty一直监视源文件夹,因此您的更改几乎立即被部署。
  • 您可以自定义生成以跳过测试,而不是生成依赖项。当您只编辑UI组件时,Jetty将静默地将其复制到"target“文件夹。
  • 如果你担心复制和重新部署。您必须使用读这个来查看完成任务的效率,同时要记住,每次更改JSP或HTML时,您都不必进行编译测试部署。

尽管如此,我想提到的是,Maven可能是一个具有挑战性的学习。可以说,这是一种面向对象的开发周期。我们大多数习惯于构建脚本的人,一开始可能会觉得有些乏味/冗长。

资源

我建议使用以下资源

  • Maven书 - Maven基础
  • 如果可以的话,使用Maven的自动部署--完成整个九码可以按照这个模式来做。
  • Maven 2有效实现 --这本书对我们帮助很大。
票数 6
EN

Stack Overflow用户

发布于 2011-01-11 15:07:16

对于q2:

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

代码语言:javascript
复制
Project properties - > 
project facets - > 
Dynamic Web Module -> 
Click the appearing "further configuration available" 
and set your content dir and context root.

您不必每次想运行/调试它时都要打包它。

另一个选择是使用Jetty

我相信其他人也会说出更多的选择。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4658871

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档