如何防止 IntelliJ 更改 CATALINA_BASE

J W*_*uck 6 tomcat intellij-idea

我正在 Eclipse 中的 Tomcat 上运行一个 Web 应用程序,但我正在切换到使用 IntelliJ 而不是 Eclipse。由于某种原因,使用 IntelliJ 时,我的 CATALINA_BASE 显示的路径与我的 CATALINA_HOME 不同(根据日志):

14-Feb-2019 16:14:31.171 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE:         C:\Users\schmoejoe\.IntelliJIdea2018.3\system\tomcat\Unnamed_myapp
14-Feb-2019 16:14:31.171 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME:         C:\myapp\apache-tomcat-9.0.8
Run Code Online (Sandbox Code Playgroud)

在我的运行/调试配置中,我指定了 C: 驱动器上本地 tomcat 的路径(即 CATALINA_HOME)。但正如您在上面看到的,日志显示我的 CATALINA_BASE 位于不同的路径C:\Users\...\.IntelliJIdea2018.3\system\tomcat\Unnamed_its

为什么 IntelliJ将我的 CATALINA_BASE更改为与 CATALINA_HOME 不同?有什么办法可以防止这种情况发生吗?

我问的原因之一是我的日志现在转到其他路径,而不是我期望它们去的地方(我实际的 tomcat 目录)。也许这就是 IntelliJ 的 Tomcat 集成的工作原理?但一个缺点是它现在似乎阻止我从 Tomcat bin\startup.bat运行我的应用程序。

Bas*_*que 4

是的,您可以直接CATALINA_BASE进入CATALINA_HOME

\n\n

但常见的做法是使用外部基本文件夹。这可以使您的原始 Tomcat 文件夹保持原始状态。还可以使可能使用 Tomcat 的多个项目的内务管理变得更加容易。每个项目都有自己的基本文件夹,将自己的内容整齐地分开。

\n\n

无论哪种方式,您都可以在配置 IntelliJ 时指定基本文件夹以了解 Tomcat。查看Preferences>> 。Build, Execution, DeploymentApplication Servers单击+图标按钮以使用 IntelliJ 设置 Tomcat 的新配置,显示如下所示的对话框。单击其中的文件夹图标Tomcat base directory以选择预先配置的基本文件夹。

\n\n

<code>首选项</code> > <code>构建、执行、部署</code> > <code>应用程序服务器</code> > <code>Tomcat 主目录</code>的屏幕截图。

\n\n

请注意我的示例屏幕截图是我自己的做法。我将 Tomcat 放在 Unix/macOS 主文件夹的顶部。我为我的各个项目创建了一个文件夹\xe2\x80\x99 基本文件夹,并命名为apache-tomcat-base它按字母顺序与 Tomcat 文件夹相邻。然后,我嵌套一个特定于项目的文件夹,使用 Unix 风格的命名来避免问题(没有空格字符,简单,短)\xe2\x80\x94,如此处example_app所示。如果我使用不同版本的 Tomcat,我可能会进一步嵌套版本号命名的文件夹,例如9.0.14(不常见)。

\n\n

至关重要:不幸的是,IntelliJ 拒绝配置此外部基本文件夹。NetBeans 自动为我做这件事让我着迷。但在 IntelliJ 中,尽管已付费购买Ultimate版本以获得应用程序服务器支持功能,但我必须手动配置基本文件夹。查看我的问题关于此问题的问题。

\n\n
    \n
  1. 进入Tomcat文件夹,复制conf文件夹。
  2. \n
  3. 粘贴到我们创建的嵌套基本文件夹中。
  4. \n
\n\n

在此输入图像描述

\n\n

Run/Debug Configuration最后,为您的网络应用程序设置一个。使用 IntelliJ 右上角“运行和调试”图标旁边的弹出菜单访问接下来显示的对话框。请注意该Application server字段,我们在其中选择我们建立的 IntelliJ-Tomcat 配置,如上所示。

\n\n

\xe2\x80\x9cRun/Debug 配置 > Tomcat 服务器 > 运行外部 Tomcat\xe2\x80\x9d 对话框的屏幕截图

\n\n

额外提示:避免使用After launch复选框。令人讨厌的错误导致我的网络应用程序在 Tomcat 中双重启动。只需手动切换到网络浏览器,为您的浏览器保留书签localhost:8080

\n