IntelliJ 15部署JEE应用Artifact失败,无法查看具体错误日志求助
我之前碰到过一模一样的问题,那种只看到一句“startup failed due to previous errors”却找不到具体原因的感觉真的头疼。给你几个我亲测有效的地方,能找到隐藏的错误日志:
IntelliJ的Tomcat运行日志面板
打开IntelliJ底部的Run面板,切换到你正在运行的Tomcat实例标签。别只看默认输出,点击面板右上角的下拉箭头(就在自动滚动按钮旁边),选择Show Full Log或者查看Logs选项,这里会包含IntelliJ和Tomcat交互时的详细日志,比如部署时的依赖缺失、配置文件语法错误这些,很多时候Tomcat的主日志里不会显示这些细节。Tomcat的细分日志文件(别只看catalina.out)
你可能之前只看了catalina.out,但Tomcat的logs目录下还有几个关键文件:localhost.log:这个是重点!Web应用启动时的具体异常堆栈,比如Servlet初始化失败、Spring容器启动报错、类找不到这些细节,基本都在这里。localhost_access_log.*.txt:虽然是访问日志,但偶尔会记录部署时的资源加载错误,比如静态文件找不到、JSP编译失败的信息。- 注意:如果IntelliJ用了临时目录作为Tomcat的
CATALINA_BASE,你得去Run配置里找这个路径——打开Run -> Edit Configurations,选中你的Tomcat配置,切换到Environment标签,找到CATALINA_BASE的路径,去对应的logs文件夹里找上面的文件,而不是Tomcat安装目录的logs。
IntelliJ的Event Log面板
点击IntelliJ右下角的小气泡图标(Event Log),这里会记录部署过程中的所有警告和错误,比如Artifact打包时的问题:比如某个依赖没被包含进Artifact、web.xml路径错误、或者模块编译失败。这些问题还没到Tomcat启动那一步,所以Tomcat日志里完全看不到,但Event Log会明明白白告诉你。检查Artifact的构建日志
有时候部署失败是因为Artifact本身打包有问题。你可以先手动构建Artifact:Build -> Build Artifacts -> [你的Artifact名] -> Build,然后看底部的Build面板日志,如果打包过程中有错误(比如缺少文件、依赖冲突),这里会直接显示出来,解决了打包问题,部署自然就正常了。
内容的提问来源于stack exchange,提问作者Tonyukuk

