首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Java 5开发环境

Java 5开发环境
EN

Stack Overflow用户
提问于 2009-12-16 14:56:14
回答 3查看 512关注 0票数 1

我有一个客户端,他已经在生产中使用了一些应用程序,因此已经对下一个项目的生产环境做出了一些决定:

  • Sun iPlanet 6.1 SP7 (w/ apache)
  • JDK 1.6
  • 10 MP3
  • 甲骨文10g
  • 1024位SSL

他们也有一些网络应用的公司标准:

  • Tomcat
  • 撑杆
  • 与Safari,Firefox,IE6,IE7兼容

我还被告知,这个应用程序可能不需要完整的Java 5环境(可能只是一个web容器),但需要通过客户端EJB等与一个单独的weblogic实例上的一个应用程序进行通信,并执行对其他企业服务的各种web服务调用。

我的任务是对这个新团队的开发和测试环境做出一些决定(包括我在内,可能只有2到3个人,但在未来几个月内可能会有所增长)。我想要创建一个用户可以使用他们喜欢的IDE并在本地主机上有良好的开发经验,但仍然有一个在测试环境中部署的平滑路径,然后再到生产环境。我的想法是,在本地工作站上,http是可以的,但是集成测试服务器应该看起来与生产服务器完全一样,所有的流量都应该是https,以确保我们得到了prod的准确描述。

知道devs本地工作站将是非常不同的,可能在他们的本地工作站上运行MacOSX10.6(雪豹)或Windows 7,但是一个通用的测试服务器也需要被规范:什么样的技术堆栈将为我们提供一个从本地开发到生产的良好的平滑路径?

编辑:对不起,当我说技术栈时,我的意思是例如Ant + JBoss + Tomcat + Oracle与Maven + Geronimo + Derby。基本上,我们需要在每台开发机器和测试服务器上安装的具体规范实现列表,为我们提供了一个灵活的开发环境,以及向测试和生产环境的平稳过渡。

EDIT2:可能值得一提的是,这个应用程序,如果它需要持久化任何信息(我假设会是这样的),不管它是什么,肯定不会很复杂。在所有的可能性,它将类似于一个基本的产品数据库。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-12-16 16:58:41

我会去:

  1. Hudson用于夜间构建(或为每个签入)
  2. 用于源代码管理的MercurialSubversion (在Windows和Mac上都工作得很好)
  3. Spring,Spring,Spring。是的,我是认真的,Spring解决了比依赖注入更多的问题;比如安全性、批处理、事务处理、系统集成。
  4. EclipseLink for ORM.Hibernate所缺乏的许多高级特性常常拯救了我(比如体面的存储过程支持)。
  5. Jetty,Tomcat树脂这样的轻型容器。如果您使用、Geronimo、JBoss等笨重的慢速工具,您将提交团队杀毒。
  6. DeltaWalker for merge/diff工具(同样适用于所有平台)。
  7. 如果要使用高级数据库特性,请选择OracleXE (和OracleXE)。两者都是不错的工具。如果不是,那么像H2Derby这样的轻量级的就可以了。
  8. JUnit (或TestNG)Mockito用于单元测试/模拟。
  9. 请不要使用Struts。说真的,至少可以选择Struts2,或者最好是JSF2、StripesGWT之类的产品。
  10. JTrac、RedMineFogBugz这样的不错的窃听器
  11. 用于集成测试的Selenium
  12. 代码质量的声纳

如果您要使用不同的IDE,那么Maven可能是个好主意,因为它允许从pom.xml配置每个IDE(在IntelliJ/NetBeans中非常有用)。但我能给你最好的建议就是这个。

  • 用你已经知道并有经验的东西去做。您不会在一夜之间从Struts传输到JSF2。
  • 得到你能得到的最好的工具,真正免费的东西并不总是要走的路(尽管经常是这样)。

快乐黑客

票数 4
EN

Stack Overflow用户

发布于 2009-12-16 15:11:05

当你说“技术堆栈”是指服务器,库,构建工具的时候,你到底在问什么还不清楚?总之,以下是一些轻率的建议:

  • Hudson用于连续集成
  • 除非你真的,非常需要它,否则不要使用maven。它吸引你就像一个警报器,它承诺声明性依赖和约定而不是配置,但实践与理论大不相同。
  • 尽可能优先使用Spring,而不是标准的Java /Java。除了更简单的API之外,它还促进了可测试性和AOP特性,这些特性比直接使用AspectJ容易得多。当然,它还提供了支持松散耦合的依赖注入。
  • 用于ORM的Hibernate,或者如果您的持久化需求非常简单,Spring就足够了。
票数 1
EN

Stack Overflow用户

发布于 2009-12-16 15:07:12

测试环境应该准确地复制生产。此外,在测试Environment.If硬件上进行性能测试也是一个问题,集群中的服务器数量需要受到限制,然后在测试上创建较少的服务器,但要复制与在prod上相同的env,例如iplanet (apache) + weblogic + oracle等等。

就本地环境而言,您可以使用Tomcat (因为您只需要web容器),对于ejb客户端,您可以捆绑jar并进行远程调用(如果您正在对某个远程应用程序进行远程调用).If,您将通过本地ejbs进行本地调用,然后您将不得不在本地框上使用weblogic进行开发。

尝试使用相同的IDE (尽管这主要是开发人员的选择问题),就操作系统而言,.As并不重要,因为如果您使用的是兼容的IDE,那么您将只从它构建代码。

还要确保IDE与tomcat (如果您使用它)或weblogic紧密耦合,以便在调试模式下运行代码。

一件非常重要的事情是,首先决定一个代码结构,然后在版本控制中签入它,这样用户在同一个structure.So中签入/签出相同的结构就可以在所有开发人员之间共享相同的结构。在每个版本中分支cvs或版本控制中的代码,然后从head.Also签出非常重要,使用单个构建文件并维护安装文档,在本地框上构建环境。另外,关于要使用的框架,选择您最熟悉的编码和maintenance.That方式,您将减少现在使用Spring/Hibernate组合的code.Mostly中的but数量,但这取决于它是否适合您的项目。希望这能有所帮助。

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

https://stackoverflow.com/questions/1915156

复制
相关文章

相似问题

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