我正在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
在我的运行/调试配置中,我在C:驱动器上指定本地tomcat的路径(即CATALINA_HOME)。但是正如您在上方看到的那样,日志在不同的路径 C:\ Users \ ... \。IntelliJIdea2018.3 \ system \ tomcat \ Unnamed_its 中显示了我的CATALINA_BASE。
为什么IntelliJ将我的CATALINA_BASE更改为不同于CATALINA_HOME?我有什么办法可以防止这种情况发生?
我问的一个原因是我的日志现在转到该其他路径,而不是我希望它们到达的位置(我的实际tomcat目录)。也许这就是IntelliJ的Tomcat集成的工作方式?但是一个缺点是它似乎使我无法从Tomcat bin \ startup.bat运行我的应用程序。
答案 0 :(得分:1)
是的,您可以指示CATALINA_BASE
在CATALINA_HOME
中。
但是通常的做法是使用外部基本文件夹。这样可以使原始Tomcat文件夹保持原始状态。通过多个可能正在使用Tomcat的项目,这也使内部管理更加容易。每个项目都有自己的基本文件夹,可以将各自的内容整齐地分开。
无论哪种方式,都可以在配置IntelliJ来了解Tomcat时指定基本文件夹。在Preferences
> Build, Execution, Deployment
> Application Servers
中查找。单击+
图标按钮,使用IntelliJ设置Tomcat的新配置,显示下图所示的对话框。点击Tomcat base directory
字段中的文件夹图标,以选择您预先配置的基本文件夹。
请注意,在我的示例屏幕中,我是自己的练习。我将Tomcat放在Unix / macOS主文件夹的顶部。我为各个项目的基础文件夹创建了一个名为apache-tomcat-base
的文件夹,因此该文件夹按字母顺序邻接Tomcat文件夹。然后,我使用Unix风格的命名来嵌套一个项目特定的文件夹,以避免出现问题(没有SPACE字符,简单,简短),例如在这里看到的example_app
。如果我正在使用不同版本的Tomcat,例如9.0.14
(不常见),则可能会进一步嵌套版本号命名的文件夹。
CRUCIAL::很遗憾,IntelliJ拒绝配置此外部基本文件夹。 NetBeans会自动为我执行此操作,这让我很受宠。但是在IntelliJ中,尽管已经花钱购买了Ultimate edition以获得Application Server支持功能,但我必须手动配置基本文件夹。有关此问题,请参见my Question。
conf
文件夹。最后,为您的Web应用设置一个Run/Debug Configuration
。使用IntelliJ右上角的“运行和调试”图标旁边的弹出菜单,访问接下来显示的对话框。请注意Application server
字段,在该字段中,我们选择了我们如上所述建立的IntelliJ-Tomcat配置。
奖金提示:避免使用After launch
复选框。令人讨厌的错误导致我的Web应用程序在Tomcat中重新启动。只需手动切换到网络浏览器,为您的localhost:8080
URL保留一个书签。