当tomcat启动脚本集中的脚本(最常见的是setenv.sh/setenv.bat)中的一个脚本覆盖JAVA_OPTS环境变量而不包含原始值时,就会发生此问题。IDEA设置JAVA_OPTS为通知tomcat在1099上侦听有关状态和部署之类的JMX请求。
来自的行的示例setenv.sh将中断:
export JAVA_OPTS='-XX:MaxPermSize=512m -Xmx1024m'
更正的版本:
export JAVA_OPTS='$JAVA_OPTS -XX:MaxPermSize=512m -Xmx1024m'
Windows setenv.bat文件中的相同示例行:
set JAVA_OPTS=-XX:MaxPermSize=512m -Xmx1024m
并更正:
set JAVA_OPTS=%JAVA_OPTS% -XX:MaxPermSize=512m -Xmx1024m
如果仅在IDEA中运行tomcat,则可以按照其他建议执行操作,并从setenv脚本中删除该行,并将jvm选项放入IDEA运行配置中。
解决方法我正在尝试这个管弦乐。我创建了一个新项目并运行它。TomCat开始了,但是什么也没发生。我可以在浏览器中手动打开http://localhost:8080并查看TomCat主页。这意味着服务器可以启动。但是我无法打开index.jsp。这是我启动后的屏幕:屏幕快照如您所见,项目正在运行,但是没有有关传递的环境变量的信息。没有日志。
我使用TomCat 7.0.27
想法12.1.6
在Opensuse 12.2上
我的tomcat HOME文件夹是 /usr/share/tomcat
出现一个问题:Idea无法将conf文件从/ usr / share / tomcat /conf复制到/home/loco/.IntelliJIdea12/system/tomcat//conf。我执行chmod 777*了/usr/share/tomcat and the problem gone.
我还更改了TomCat的启动方式。这是默认值
/usr/share/tomcat/bin/catalina.sh run
我改为
/usr/share/tomcat/bin/catalina.sh start
所有其他步骤均根据教程完成。