java - 在 Tomcat 服务器中部署 Web 项目

标签 java apache tomcat

我正在尝试在 Tomcat 服务器 7.0_68 中运行我的 Web 应用程序。当我运行 startup.bat 时,tomcat 控制台中没有显示任何错误。但是在 tomcat 管理器中部署我的 web 项目后,它显示以下错误。

SEVERE: Exception fixing docBase for context [/ALinguist]
java.util.zip.ZipException: error in opening zip file
        at java.util.zip.ZipFile.open(Native Method)
        at java.util.zip.ZipFile.<init>(ZipFile.java:220)
        at java.util.zip.ZipFile.<init>(ZipFile.java:150)
        at java.util.jar.JarFile.<init>(JarFile.java:166)
        at java.util.jar.JarFile.<init>(JarFile.java:103)
        at sun.net.www.protocol.jar.URLJarFile.<init>(URLJarFile.java:93)
        at sun.net.www.protocol.jar.URLJarFile.getJarFile(URLJarFile.java:69)
        at sun.net.www.protocol.jar.JarFileFactory.get(JarFileFactory.java:109)
        at sun.net.www.protocol.jar.JarURLConnection.connect(JarURLConnection.ja
va:122)
        at sun.net.www.protocol.jar.JarURLConnection.getJarFile(JarURLConnection
.java:89)
        at org.apache.catalina.startup.ExpandWar.expand(ExpandWar.java:111)
        at org.apache.catalina.startup.ContextConfig.fixDocBase(ContextConfig.ja
va:735)
        at org.apache.catalina.startup.ContextConfig.beforeStart(ContextConfig.j
ava:863)
        at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfi
g.java:388)
        at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(Lifecycl
eSupport.java:117)
        at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBa
se.java:90)
        at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase
.java:394)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:144)
        at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase
.java:899)
        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:87
5)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:652)

        at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1091
)
        at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:
1980)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:51
1)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.
java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor
.java:617)
        at java.lang.Thread.run(Thread.java:745)

Mar 01, 2016 10:23:12 AM org.apache.catalina.core.StandardContext resourcesStart

SEVERE: Error starting static Resources
java.lang.IllegalArgumentException: Invalid or unreadable WAR file : error in op
ening zip file
        at org.apache.naming.resources.WARDirContext.setDocBase(WARDirContext.ja
va:136)
        at org.apache.catalina.core.StandardContext.resourcesStart(StandardConte
xt.java:5197)
        at org.apache.catalina.core.StandardContext.startInternal(StandardContex
t.java:5386)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
        at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase
.java:899)
        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:87
5)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:652)

        at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1091
)
        at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:
1980)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:51
1)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.
java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor
.java:617)
        at java.lang.Thread.run(Thread.java:745)

Mar 01, 2016 10:23:12 AM org.apache.catalina.core.ContainerBase addChildInternal

SEVERE: ContainerBase.addChild: start:
org.apache.catalina.LifecycleException: Failed to start component [StandardEngin
e[Catalina].StandardHost[localhost].StandardContext[/ALinguist]]
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:153)
        at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase
.java:899)
        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:87
5)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:652)

        at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1091
)
        at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:
1980)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:51
1)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.
java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor
.java:617)
        at java.lang.Thread.run(Thread.java:745)
Caused by: org.apache.catalina.LifecycleException: Error in resourceStart()
        at org.apache.catalina.core.StandardContext.startInternal(StandardContex
t.java:5387)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
        ... 10 more

Mar 01, 2016 10:23:12 AM org.apache.catalina.startup.HostConfig deployWAR
SEVERE: Error deploying web application archive G:\software\apache-tomcat-7.0.68
\webapps\ALinguist.war
java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catal
ina.LifecycleException: Failed to start component [StandardEngine[Catalina].Stan
dardHost[localhost].StandardContext[/ALinguist]]
        at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase
.java:903)
        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:87
5)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:652)

        at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1091
)
        at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:
1980)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:51
1)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.
java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor
.java:617)

有人知道这个错误的原因是什么吗?

最佳答案

您可以点击评论中给出的链接。

但是如果您使用的是 linux,那么请确保它是可读的。您可以通过Run "chmod +r" 来检查war 文件是否授予所有人读取权限。

关于java - 在 Tomcat 服务器中部署 Web 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35715464/

相关文章:

java - 使用 Mockito 注入(inject) Autowiring 的 bean 并在模拟上设置一些属性

java - 类型错误的非法开始

java - 使用 Sun 专有的 Java 类是一种不好的做法吗?

java - 使用 Java 代码从 Windows 机器运行 bash 脚本

java - 允许 Glassfish 和 PHP 使用 Apache 在同一台服务器上协同工作

php - Docker 容器中的 Apache、PHP、WordPress 缓存问题

java - 以编程方式获取 Tomcat 的 "appBase"目录?

tomcat - 生产环境软件的硬件配置

java - 运行hdoop程序,hbase卡在htable声明中

Java Servlet 为 POST 请求返回错误 405 (Method Not Allowed)