【问题标题】:How to simplify Java EE development environment如何简化 Java EE 开发环境
【发布时间】:2013-09-05 05:32:07
【问题描述】:

我是 Java EE 的新手,到目前为止,我喜欢 Java SE 开发环境简单而整洁。现在我在 Java EE 项目中工作,我正在使用带有 glassfish 服务器的 eclipse。

我对 Java EE 开发环境不满意。每次启动和部署项目都需要时间,而不是直截了当。

我怀疑世界各地的人们是否仍然面临同样的问题或找到任何替代方案来解决这个问题?

我的意思是问题是 - 集成 Eclipse 和 Glassfish - 每次停止/启动/部署项目到 Eclipse - Glassfish 的行为不一致,很多时候我必须重新启动 Glassfish - 等等,

【问题讨论】:

  • Eclipse 和 Glassfish 之间的集成在我看来是一场噩梦。 glassfish 连接器有问题,eclipse 随机崩溃(谁知道是什么插件或插件导致的)。 OTOH 我对 IntelliJ IDEA 没有任何问题,它与 Glassfish 无缝集成。然而它不是免费的。不幸的是,ATM 不是我的选择,如果可以的话,我会使用它。
  • 你考虑过 Netbeans 吗?它通常与 Glassfish 捆绑在一起,集成非常好,您可以在保存时启用编译:wiki.netbeans.org/FaqCompileOnSave#In_7.3_and_before 不幸的是,您可能会遇到 perm-gen 问题。出于这个原因,部署到 tomcat(它在强制删除类对象方面做得更好,如果它成为一个问题,可以解决这个问题),tomcat 和 glassfish 可以放在同一个包中,并且在非常微不足道的情况下切换。

标签: eclipse jakarta-ee glassfish-3


【解决方案1】:

您可以使用JRebel 来减少部署时间。使用这个 Eclipse 插件将大大减少您的部署时间开销。它对商业项目不是免费的,但对于开源和非商业项目,您可以获得一年的免费订阅。详情请见their plans

您可能还想查看here 提供的选项。

【讨论】:

  • 有免费的替代品吗?
  • @sokid:据我所知,没有。我也为此痛苦了很久。切换到 tomcat(我们后来选择了 Spring)后,问题稍微减少了一点,因为它的部署时间远远少于成熟的应用程序服务器。
【解决方案2】:

当我重新部署中型EJB项目时,使用ant打包大约需要4s,JBoss 7重新部署大约需要4s(它包含五个.jar文件的依赖项)。

要加快速度,请考虑以下选项:

  • 使用 JRebelAgent Smith(开源)之类的东西,它们对正在运行的应用程序进行“热交换”类,以最大限度地减少重新部署。

  • 将您的服务功能与无状态会话 bean 分开:将功能移动到一个普通的 Java 类中,您也可以从独立的应用程序中调用该类。这样可以最大限度地减少您需要的部署数量。

  • 独立的后端(EJB 等)和客户端(JSP、命令行应用程序),因此只需要重新安装一个部分。

  • 在您的 EJB 中使用脚本:在这种模式下,EJB 使用类似 BeanShell 的东西,从数据库中获取脚本,并在运行时对其进行解释。因此,您无需重新部署,而是更新数据库中的脚本。

  • 仅打包您真正需要的 .jar。我已经完成了一个项目,在该项目中我必须删除所有开源库,这给了我很大的帮助。

  • 看看Application client containers (ACC)。引用:

与其他 Java EE 容器相比,ACC 是轻量级的。

【讨论】:

    【解决方案3】:

    您不想每次都停止/启动/部署服务器。只有在 servlet 或 ejb 端进行 chage 时才应该这样做。如果您只在 jsp 页面中进行更改,那么您不想停止/启动/部署服务器。

    【讨论】:

    • 当我们开发servlet或EJB模块时,我们经常需要重新部署项目,它会消耗更多的时间。
    猜你喜欢
    • 1970-01-01
    • 2017-12-24
    • 1970-01-01
    • 2023-03-18
    • 2021-01-27
    • 1970-01-01
    • 2011-04-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多