Tomcat 如何防止IntelliJ更改CATALINA_基地

Tomcat 如何防止IntelliJ更改CATALINA_基地,tomcat,intellij-idea,Tomcat,Intellij Idea,我正在Eclipse中运行Tomcat上的webapp,但我正在切换到使用IntelliJ而不是Eclipse。出于某种原因,在使用IntelliJ时,我的CATALINA_基地显示的路径与我的CATALINA_家园不同(根据日志): 在我的运行/调试配置中,我在我的C:驱动器上指定了本地tomcat(即CATALINA_HOME)的路径。但正如您在上面看到的,日志显示我的CATALINA_基地位于不同的路径,C:\Users\…\.IntelliJIdea2018.3\system\tomca

我正在Eclipse中运行Tomcat上的webapp,但我正在切换到使用IntelliJ而不是Eclipse。出于某种原因,在使用IntelliJ时,我的CATALINA_基地显示的路径与我的CATALINA_家园不同(根据日志):

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

为什么IntelliJ我的CATALINA_基地与CATALINA_的家不同?我有什么办法可以防止这种情况发生吗


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

是的,您可以将
CATALINA_BASE
引导到
CATALINA_HOME

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

无论哪种方式,都可以在配置IntelliJ以了解Tomcat时指定基本文件夹。查看
首选项
构建、执行、部署
应用程序服务器
。单击
+
图标按钮,使用IntelliJ设置Tomcat的新配置,显示下面显示的对话框。单击
Tomcat基本目录
字段中的文件夹图标,选择预配置的基本文件夹

请注意,在我的示例屏幕截图中,我有自己的练习。我将Tomcat放在Unix/macOS主文件夹的顶部。我为我的各个项目的基本文件夹创建了一个名为
apachetomcat base
的文件夹,因此它按字母顺序与tomcat文件夹相邻。然后,我嵌套了一个特定于项目的文件夹,使用Unix风格的命名来避免出现问题(没有空格字符、简单、简短),例如这里看到的
example\u app
。如果我使用不同版本的Tomcat,比如
9.0.14
(不常见),我可能会进一步嵌套名为folders的版本号

至关重要:IntelliJ不幸拒绝配置此外部基本文件夹。我被NetBeans自动为我做这件事所宠坏了。但是在IntelliJ中,尽管已经为获得应用服务器支持功能而支付了费用,但我必须手动配置基本文件夹。关于这个问题,请参见

  • 进入Tomcat文件夹,复制
    conf
    文件夹
  • 粘贴到我们创建的嵌套基本文件夹中

    最后,为您的web应用设置
    运行/调试配置
    。使用IntelliJ右上角“运行和调试”图标旁边的弹出菜单,访问下面显示的对话框。注意
    applicationserver
    字段,在这里我们选择了如上所示建立的IntellijTomcat配置


    额外提示:避免在启动后使用
    复选框。讨厌的bug导致我的web应用程序在Tomcat中双倍启动。只需手动切换到web浏览器,为您的
    localhost:8080
    URL保留一个书签

    同样,对另一个问题的回答也提供了很好的信息:
    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