intellij-idea - Intellij12.1.4 和 Tomcat 7 context.xml 问题

标签 intellij-idea tomcat7

尝试部署到 tomcat7 时,我得到一个空白网页,.IntelliJ Idea 12\system 文件夹中的日志文件显示以下错误 -

com.intellij.execution.ExecutionException: Cannot load C:\Users\XXX\GitRepo\project1\webapp\target\webapp-3.1.0-SNAPSHOT\META-INF\context.xml
    at org.jetbrains.idea.tomcat.TomcatUtil.loadXMLFile(TomcatUtil.java:151)
    at org.jetbrains.idea.tomcat.TomcatUtil.findContextInContextXml(TomcatUtil.java:103)
    at org.jetbrains.idea.tomcat.TomcatUtil.findContextElement(TomcatUtil.java:338)
    at org.jetbrains.idea.tomcat.admin.TomcatAdminLocalServerImpl.addApplicationContext(TomcatAdminLocalServerImpl.java:192)
    at org.jetbrains.idea.tomcat.admin.TomcatAdminLocalServerImpl$4.doPerform(TomcatAdminLocalServerImpl.java:123)
    at org.jetbrains.idea.tomcat.admin.TomcatAdminLocalServerImpl$DeployStep.perform(TomcatAdminLocalServerImpl.java:271)
    at org.jetbrains.idea.tomcat.admin.TomcatAdminLocalServerImpl.doDeploy(TomcatAdminLocalServerImpl.java:118)
    at com.intellij.javaee.oss.admin.jmx.JavaeeJmxAdminServerBase$4.doPerform(JavaeeJmxAdminServerBase.java:115)
    at com.intellij.javaee.oss.admin.jmx.JavaeeJmxAdminServerBase$JmxOperation.perform(JavaeeJmxAdminServerBase.java:234)
    at com.intellij.javaee.oss.admin.jmx.JavaeeJmxAdminServerBase.doStartDeploy(JavaeeJmxAdminServerBase.java:106)
    at com.intellij.javaee.oss.admin.jmx.JavaeeJmxAdminServerBase.access$100(JavaeeJmxAdminServerBase.java:22)
    at com.intellij.javaee.oss.admin.jmx.JavaeeJmxAdminServerBase$2.setDeploymentStatus(JavaeeJmxAdminServerBase.java:85)
    at com.intellij.javaee.oss.admin.jmx.JavaeeJmxAdminServerBase$DeploymentModelOperation.doSetDeploymentStatus(JavaeeJmxAdminServerBase.java:272)
    at com.intellij.javaee.oss.admin.jmx.JavaeeJmxAdminServerBase$3.doPerform(JavaeeJmxAdminServerBase.java:95)
    at com.intellij.javaee.oss.admin.jmx.JavaeeJmxAdminServerBase$JmxOperation.perform(JavaeeJmxAdminServerBase.java:234)
    at com.intellij.javaee.oss.admin.jmx.JavaeeJmxAdminServerBase.doStartDeployWithUndeploy(JavaeeJmxAdminServerBase.java:90)
    at com.intellij.javaee.oss.admin.jmx.JavaeeJmxAdminServerBase.startDeploy(JavaeeJmxAdminServerBase.java:69)
    at org.jetbrains.idea.tomcat.admin.TomcatAdminServerBase.startDeploy(TomcatAdminServerBase.java:122)
    at org.jetbrains.idea.tomcat.admin.TomcatAdminLocalServerImpl.startDeploy(TomcatAdminLocalServerImpl.java:101)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:601)
    at com.intellij.javaee.oss.admin.AdminClientBase$InvocationHandlerImpl$1.call(AdminClientBase.java:55)
    at com.intellij.javaee.oss.admin.AdminClientBase$InvocationHandlerImpl$2.run(AdminClientBase.java:74)
    at com.intellij.javaee.util.SequentialTaskExecutor$1.run(SequentialTaskExecutor.java:32)
    at com.intellij.openapi.application.impl.ApplicationImpl$8.run(ApplicationImpl.java:454)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
    at java.util.concurrent.FutureTask.run(FutureTask.java:166)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
    at java.lang.Thread.run(Thread.java:722)
    at com.intellij.openapi.application.impl.ApplicationImpl$1$1.run(ApplicationImpl.java:152)
Caused by: java.io.FileNotFoundException: C:\Users\XXX\GitRepo\project1\webapp\target\webapp-3.1.0-SNAPSHOT\META-INF\context.xml (The system cannot find the file specified)
    at java.io.FileInputStream.open(Native Method)
    at java.io.FileInputStream.<init>(FileInputStream.java:138)
    at com.intellij.openapi.util.JDOMUtil.loadDocument(JDOMUtil.java:350)
    at org.jetbrains.idea.tomcat.TomcatUtil.loadXMLFile(TomcatUtil.java:145)

关于如何解决这个问题有什么想法吗?

最佳答案

我在 IntelliJ Idea v12 中遇到了类似的错误,当时我从“运行/调试配置”对话框的“部署”选项卡中删除了分解的 war 文件并在其位置添加了未分解的 war 文件——同时忘记设置应用程序上下文回到我之前设置的状态。

例如,如果我将应用程序上下文设置为 /coolapp,当我删除分解的 war 文件时,上下文会重置回 /。我添加了未分解的 war 文件,上下文仍设置为 /,但我继续尝试在浏览器中访问 /coolapp。这在查找 .../META-INF/context.xml 时产生了 FileNotFoundException,它与您在堆栈跟踪底部看到的异常相匹配。

希望这对以后的人有帮助!

关于intellij-idea - Intellij12.1.4 和 Tomcat 7 context.xml 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21319423/

相关文章:

java - 本地 (Windows/IntelliJ) 和远程 (Linux) 之间的 Maven 构建有何差异?

intellij-idea - IntelliJ IDEA 13 : Keyboard shortcuts to navigate stack trace after running tests?

android - 使用Android设备访问Tomcat本地服务器

maven-2 - 依赖注入(inject)在使用 Jersey 和 OpenWebBeans 的 Tomcat 7 上不起作用

java - Tomcat 从 8443 到 443

scala - Intellij Scala worksheet 运行类型差异解释

java - 像 Intellij 一样在 Eclipse 中搜索包含特定单词的 java 文件?

java - 无法解决 Intellij IDEA IDE 中 Scalatra 项目的错误

java - 如何使用环境变量在 tomcat 7 中保护 jsessionid cookie

maven-2 - 如何使用 Maven 2 Tomcat 插件运行 Tomcat 7?