作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 Linux 上安装了 Tomcat 5,部署了一个 Web 应用程序并愉快地运行了很多年。我现在正在尝试部署一个新的 web 应用程序,这场 war 是使用 Maven 创建的,对我来说看起来很好,但是 catalna 日志中有一个错误阻止它正确部署。
它提示:
java.io.IOException: java.io.FileNotFoundException:
/home/jthink/jakarta-tomcat-5.0.27/conf/Catalina/localhost/widget.xml
(Is a directory)
没错,widget.xml 是一个目录。但是我没有创建这个文件,我也不知道它来自哪里
我的 war 包含以下文件结构:
.:
META-INF
WEB-INF
./META-INF:
context.xml
MANIFEST.MF
maven
./WEB-INF:
classes
lib
web.xml
我没发现有什么奇怪的地方
这是完整的堆栈跟踪
java.io.IOException: java.io.FileNotFoundException: /home/jthink/jakarta-tomcat-5.0.27/conf/Catalina/localhost/widget.xml (Is a directory)
at org.apache.catalina.core.StandardHostDeployer.install(StandardHostDeployer.java:494)
at org.apache.catalina.core.StandardHost.install(StandardHost.java:863)
at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:482)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:427)
at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1068)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:327)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
at org.apache.catalina.core.StandardHost.backgroundProcess(StandardHost.java:800)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1619)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1628)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1608)
at java.lang.Thread.run(Thread.java:619)
解决方法
jakarta-tomcat-5.0.27/conf/Catalina/localhost/widget.xml 应该是 widget.wars META-INF/context.xml 文件的副本而不是目录。我不知道为什么它被创建为一个目录,但手动删除然后复制 context.xml 并重命名为 widget.xml 解决了这个问题。
向开发人员提出了一个错误 https://issues.apache.org/bugzilla/show_bug.cgi?id=53864但关闭不会修复,因为 tomcat 版本太旧。我想我应该升级 amd,看看问题是否消失。
最佳答案
没有深入了解这个问题,但解决方案是升级到 Tomcat 7,我没有意识到 Tomcat 5 已经过时了。
关于java - 在 tomcat 5 上部署 war 提示文件是目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12395516/
我是一名优秀的程序员,十分优秀!