idea中的tomcat vm_IDEA 社区版不支持 Tomcat?一招完美解决!

作者 | 郑祎

责编 | Elle

前言

IntelliJ IDEA Community Edition(社区版)不支持Tomcat,不想花钱购买Ultimate版本,也不想使用Eclipse,尝试通过其他方式使IDEA社区版支持Tomcat。

尝试的方法

2.1. Smart Tomcat插件

在IDEA社区版(2019.2.4)中安装了Smart Tomcat插件,并使用其启动Tomcat应用,遇到了以下问题:

Web应用的class文件未被自动拷贝到对应的Web应用根目录中,导致Web应用的代码未被加载,需要手工处理,使用不方便;Tomcat日志只生成了localhost_access_log.txt日志文件,没有生成catalina.log、localhost.log等日志文件,排查问题不方便。使用Smart Tomcat插件遇到问题之后,放弃了使用该插件,没有再去分析是否因为使用方法不当。

可行方法

3.1. 说明

之后通过Gradle脚本,使IDEA社区版支持Tomcat(也支持IDEA Ultimate版)。

完成的Gradle脚本及示例Web工程代码可以从 https://github.com/Adrninistrator/IDEA-IC-Tomcat/ 、 https://gitee.com/adrninistrator/IDEA-IC-Tomcat/ 下载,脚本内容很短,有效行数不超过200行,处理也很简单。

通过上述Gradle脚本,结合IDEA的功能,在完成配置后,可以实现以下功能,能够达到与Eclipse或IDEA Ultimate版本对Tomcat支持的功能接近的效果。

一键启动Tomcat并加载Web应用一键停止Tomcat(应用实例可以接收到Web容器销毁通知)一键启动可调试的Tomcat(Web应用)一键从Tomcat(Web应用)启动时开始调试3.2. 依赖环境

IDEA使用IntelliJ IDEA Community Edition 2019.2.4版本。

Tomcat支持Tomcat 7、8、9版本(测试过Tomcat 7.0.55、7.0.79、8.5.20、9.0.30版本),理论上也支持Tomcat 5、6版本(未测试)。

Gradle支持Gradle 4、5、6版本(测试过Gradle 4.1、4.7、5.6.4、6.0.1版本)。

JDK使用JDK 1.8.0_144版本。

操作系统使用Windows 7 x64 SP1版本。

3.3. IDEA中执行Gradle脚本

假设存在以下Gradle任务:

task testTask {doFirst {println"测试-" + System.getProperty("arg") }}

3.3.1. 在Terminal中执行

在IDEA的Terminal中执行以上Gradle任务时,可以通过gradle或gradlew命令,以命令行的方式执行,并可以通过“-D”前缀指定传递给Gradle脚本的JVM参数,与执行Java程序时类似。

执行上述任务的Gradle命令示例如下所示:

gradle testTask -Darg=abcgradlew testTask -Darg=abc

执行的结果如下所示:

> Task:testTask测试-abc

3.3.2. 在Run/Debug Configurations中执行

打开IDEA的“Run/Debug Configurations”窗口,点击加号后,从弹出菜单中选择“Gradle”,可以新增一个配置,用于执行对应的Gradle任务。

打开“Configuration”标签页,对参数进行修改。

点击“Gradle project”右侧的图标,选择当前项目;在“Tasks”右侧填入需要执行的Gradle任务名称,如“testTask”;在“VM options”右侧填入需要传递给Gradle脚本的JVM参数,如“-Darg=test_arg”,点击箭头图标可以展开编辑框。

在Run/Debug Configurations中完成配置后,可以选中对应的配置,点击执行按钮开始执行。

执行的结果在“Run”窗口中显示,如下所示:

当需要修改Run/Debug Configurations使用的Gradle时,可以打开IDEA的“File | Settings | Build, Execution, Deployment | Build Tools | Gradle”菜单,修改“Use Gradle from”选项。

3.3.2.1. 解决在Run/Debug Configurations中执行Gradle脚本中文乱码问题

在Run/Debug Configurations中执行Gradle脚本或编译过程时,输出的中文可能乱码。

或如下图所示:

进行以下设置,可以解决上述中文乱码问题。

打开IDEA的“Help”“Edit Custom VM Options...”菜单;

在打开的文件最后增加“-Dfile.encoding=UT

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值