【问题标题】:How does Intellij deploy to JBoss?Intellij 如何部署到 JBoss?
【发布时间】:2011-05-28 09:51:00
【问题描述】:

我终于在 IntelliJ 中有我的应用程序并部署到 JBoss。我想让热部署工作,但看起来我需要了解 IntelliJ 和 JBoss 的交互方式。

当我在 IntelliJ 中构建我的项目然后启动 JBoss 时,ear 文件不会出现在部署目录中,所以我认为 IntelliJ 有一些魔力让 JBoss 从不同的文件夹中读取。这一步发生了什么?

谢谢:)

【问题讨论】:

    标签: intellij-idea


    【解决方案1】:

    我知道这是一个古老且显然已回答的问题,但不幸的是,已接受答案中提供的链接并未提供我正在寻找的简单细节。对于任何想了解 IntelliJ IDEA 如何在不将文件复制到部署文件夹的情况下将您的爆炸式战争部署到 JBoss 的人,以下是我在从 IDEA 14 (EAP) 部署 本地 到 JBoss 7.1.1 时发现的内容.决赛:

    • 在您为项目创建“爆炸战争”工件(或自动为您创建)后,IDEA 将构建您提供的源并将输出放置在工件选项中设置的目录中(您可以更改此设置将输出放置在 jboss 安装中的部署文件夹中)。
    • IDEA 将更新您的 JBoss 配置文件 (/standalone/configuration/standalone.xml) 并在部署部分添加一个“部署”节点。该条目只是为您的项目定义了一个名称、一个运行时名称和展开的 war 根文件夹,它将指向您在 IDEA 中设置的工件的输出目录。
    • 当 JBoss 启动时(手动或从您在 IDEA 中的运行/调试配置),它将自动部署您的工件。请注意,如果您的文件在项目的输出目录中并且您清理它,JBoss 仍会尝试查找该目录,因此在您下次尝试启动它时会遇到错误:org.jboss.as.server.deployment.DeploymentUnitProcessingException: Failed to mount deployment contentFailed to process phase STRUCTURE of deploymentjava.io.FileNotFoundException仅举几例。

    【讨论】:

    • 这应标记为截至 2015 年的答案。要点 1 的更多详细信息:您的工件选项可在此处找到(IntelliJ v14):“应用程序服务器”底部的选项卡 -> 选择您的服务器 - > 点击编辑配置图标 -> 选择选项卡“部署” -> 点击编辑(铅笔图标) -> 设置位于右侧名为“输出目录”的字段中。
    • @Herick - 关于你最后一个要点的任何建议/解决方案?我看到了同样的行为 - jboss 正在尝试部署最新版本并看到 FileNotFioundException
    • @RonakPatel 要么您需要再次运行构建(maven?gradle?)以便输出文件在那里,或者您可以手动从 JBOSS 配置文件中删除部署条目。
    • 我正在进行全新安装...新版本部署得很好,但 jboss 也尝试安装旧版本 - 不存在(由 maven build 更新)
    • @RonakPatel 可能是您离开了 IntelliJ 中配置的旧工件吗?
    【解决方案2】:

    请参考documentation

    基本上,您需要一个目录名称以 .ear 结尾的分解式 Artifact 配置。

    构建 | Make 执行热部署以及 Update 操作(可配置,只能更新资源、资源和类,可选择重新部署或重新启动服务器)。

    IDEA 不是将您的应用程序复制到 JBoss,而是使用适当的参数运行它,以便它使用 Artifact 目录。配置非常灵活,您只需将工件目录位置更改为驻留在 JBoss 目录下即可。

    【讨论】:

      猜你喜欢
      • 2016-01-12
      • 2021-10-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多