【问题标题】:How to configure IntelliJ 11 + remote tomcat 6 + maven imported modules?如何配置 IntelliJ 11 + 远程 tomcat 6 + maven 导入模块?
【发布时间】:2012-12-25 01:15:34
【问题描述】:

这是我现在拥有的:

  • 将多个 maven 模块导入 IntelliJ 项目
  • Maven 目标从 Maven 项目弹出按钮运行正常 - 创建了一个 war 文件。
  • 从“Build|Make Project”创建项目也可以。但是这里没有创建战争,只有 .class 文件。
  • Tomcat 6 在另一台机器上运行
  • 手动将包 maven 目标生成的战争部署到远程 tomcat 工作正常。
  • 将本地 tomcat 6 实例配置为应用程序服务器。我不打算使用这个实例,但 JetBrains 文档说我必须有一个本地实例才能使用 IDE 配置应用程序服务器。
  • 没有为 IntelliJ 项目配置任何工件和构面。
  • 远程tomcat使用JAVA_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,address=1317,suspend=n,server=y运行

我希望能够在 IntelliJ 中调试我的服务器。这意味着,我必须有一个运行配置,它执行以下操作:

  1. 生成相应的war 文件。制作项目不会产生任何战争,因此应该修改它以产生战争,或者应该将战争作为运行配置的一部分创建。我不知道哪种方法是正确的。
  2. 将其部署或重新部署到远程 tomcat 实例。
  3. 让我远程调试代码。

我该怎么做?

编辑

更正。其中一个项目自动添加了 Web facet,因为 IntelliJ 注意到了 ...\src\main\webapp\WEB-INF\web.xml 文件。

EDIT2

这是我的远程 tomcat 运行配置对话框:

文档说我应该在对话框中有 Perform on 'Update' action 选项。它在哪里?

EDIT3

我已经向 IntelliJ 添加了 Spring 支持和 Spring Web 服务插件,因为我们正在使用它们。现在 IntelliJ 识别了它并添加了 Spring 方面:

但是,远程 Tomcat 运行配置对话框中仍然没有 执行“更新”操作选项。

我错过了什么?

EDIT4

执行“更新”操作选项的谜团已解决 - How to enable the Perform on 'Update' action option in the remote Tomcat run configuration in IntelliJ?

【问题讨论】:

  • 听起来你知道你必须做什么。你被什么困住了?请注意,在Project Structure 的左侧有一个 Artifacts 菜单项。

标签: debugging maven tomcat intellij-idea


【解决方案1】:

1) 生成 WAR

要让 IntelliJ IDEA 生成 war 文件,您需要为模块定义一个 'web' facet。

  1. 转到文件>项目结构>模块
  2. 选择您的模块
  3. 添加(通过“+”图标或 Alt+Insert)Web 构面。
  4. 配置方面。 (如果您遵循标准,默认值应该没问题,但请检查它们。)

一旦你定义了一个 web facet,你就可以定义一个 WAR 工件。

  1. 转到“项目结构”对话框中的“工件”页面。
  2. 您首先需要创建一个爆炸的战争神器。
    1. 点击添加按钮
    2. 选择“Web 应用程序:已展开”,然后选择“来自模块”
    3. 在弹出窗口中,选择您的模块。验证 Web 应用程序工件是否已正确定义。同样,如果您遵循标准,默认值应该是好的。
  3. 一旦定义了分解的工件,再次单击添加工件按钮并选择“Web 应用程序:Archie”,然后选择“For {module-name}:war exploded”(或者如果您这样做了,您将您的分解工件命名为什么)不使用默认名称)。
  4. 验证配置。

IDEA 现在将在您构建时创建一个战争文件。

2) 部署到远程服务器

您可以在运行/调试配置中执行此操作。请参阅下一节。

3) 远程调试

您只需创建一个运行/调试配置即可。

  1. 从菜单中转到运行 > 编辑配置
  2. 单击添加图标(或键入 Alt + Insert)并从弹出列表中选择 Tomcat 服务器 > 远程
  3. 配置运行/调试设置。我建议单击“帮助”按钮。它将向您展示各种选项。 (请务必注意哪些可用于本地、远程或两者。)查看帮助页面上的“远程暂存”信息。此外,请务必选择部署选项卡并选择要部署的工件(并指定上下文路径。)启动/连接选项卡的“调试”部分将需要在远程 Tomcat 上配置的调试连接信息服务器。
  4. 默认情况下,“Make”应该列在“Before Launch”部分。并且一旦您添加了要部署的工件,启动前还应该显示该工件将被构建。如果没有,请添加它。

一旦定义,您就可以执行此运行/调试配置。要进行调试,请使用“调试”按钮或快捷方式 (Shift+F9) 启动。这将创建您的项目,创建战争,部署它,然后连接调试器。如果只想运行不调试,点击运行按钮,或者使用快捷键 Shift+F10。

【讨论】:

  • 文档说我应该在对话框中有 Perform on 'Update' action 选项,好吧 - 我没有。似乎很重要。见 EDIT2
  • IntelliJ 报告:运行 Tomcat 6 时出错:无法连接到 192.168.229.134:1099。 JNDI 端口为 1099,但 Debug 部分列出了以下选项 - -Xdebug -Xrunjdwp:transport=dt_socket,address=62379,suspend=n,server=y。我复制了它并为其设置了 JAVA_OPTS,仍然没有骰子。
  • 尝试干净的 Tomcat 安装,您可以自定义禁用某些默认存在且调试所需的组件和配置选项。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-03-28
  • 1970-01-01
  • 2011-10-22
  • 2017-01-04
  • 2017-04-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多