线程“ main”中的异常java.util.zip.ZipException:打开zip文件时发生错误

时间:2019-10-05 07:15:30

标签: java tomcat netbeans

我试图在NetBeans 8.2中创建一个Web应用程序,为此,我尝试使用集成到该版本中的Apache Tomcat 8.0.27。以前,我在使用Tomcat和Netbeans时没有任何问题,但有一次失败了。

除了重新安装NetBeans及其所有组件之外,我还尝试修改环境变量,但是它不起作用。我在其他问题中寻找信息,但没有找到任何有用的信息,可能某些文件已损坏,但是如果是这种情况,我想在一些论坛上了解如何通过简单易懂的解释来解决该问题如何找到损坏的文件并解决一些问题,但是对我而言,它们还不是很清楚。

规格: -Windows -Netbeans 8.2 -Tomcat 8.0.27 -JDK和JDR​​ 1.8.0.191

**Exception in thread "main" java.lang.InternalError:** java.util.zip.ZipException: error in opening zip file
    at sun.misc.URLClassPath$JarLoader.getResource(URLClassPath.java:1052)
    at sun.misc.URLClassPath.getResource(URLClassPath.java:249)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:363)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:362)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    at java.util.ResourceBundle$RBClassLoader.loadClass(ResourceBundle.java:512)
    at java.util.ResourceBundle$Control.newBundle(ResourceBundle.java:2649)
    at java.util.ResourceBundle.loadBundle(ResourceBundle.java:1510)
    at java.util.ResourceBundle.findBundle(ResourceBundle.java:1474)
    at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1370)
    at java.util.ResourceBundle.getBundle(ResourceBundle.java:782)
    at sun.security.provider.AuthPolicyFile$1.run(AuthPolicyFile.java:74)
    at sun.security.provider.AuthPolicyFile$1.run(AuthPolicyFile.java:71)
    at java.security.AccessController.doPrivileged(Native Method)
    at sun.security.provider.AuthPolicyFile.<clinit>(AuthPolicyFile.java:71)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    at java.lang.Class.newInstance(Class.java:442)
    at javax.security.auth.Policy$2.run(Policy.java:236)
    at javax.security.auth.Policy$2.run(Policy.java:228)
    at java.security.AccessController.doPrivileged(Native Method)
    at javax.security.auth.Policy.getPolicyNoCheck(Policy.java:227)
    at javax.security.auth.Policy.getPolicy(Policy.java:197)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.apache.catalina.core.JreMemoryLeakPreventionListener.lifecycleEvent(JreMemoryLeakPreventionListener.java:349)
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:95)
    at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
    at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:402)
    at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:99)
    at org.apache.catalina.startup.Catalina.load(Catalina.java:576)
    at org.apache.catalina.startup.Catalina.load(Catalina.java:599)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:310)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:484)

**Caused by: 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:225)
    at java.util.zip.ZipFile.<init>(ZipFile.java:155)
    at java.util.jar.JarFile.<init>(JarFile.java:166)
    at java.util.jar.JarFile.<init>(JarFile.java:103)
    at sun.misc.URLClassPath$JarLoader.getJarFile(URLClassPath.java:940)
    at sun.misc.URLClassPath$JarLoader.access$800(URLClassPath.java:801)
    at sun.misc.URLClassPath$JarLoader$1.run(URLClassPath.java:886)
    at sun.misc.URLClassPath$JarLoader$1.run(URLClassPath.java:879)
    at java.security.AccessController.doPrivileged(Native Method)
    at sun.misc.URLClassPath$JarLoader.ensureOpen(URLClassPath.java:878)
    at sun.misc.URLClassPath$JarLoader.getResource(URLClassPath.java:1050)
    ... 44 more

我希望Tomcat可以毫无问题地部署,但是它根本就没有部署,每次都会发送错误。

更新:我在其他计算机上安装了相同的NetBeans,并且可以正常工作。我复制了Tomcat和NetBeans的文件,但错误仍然存​​在(因此,我认为与损坏的.jars没有任何关系)。我用来测试的项目是一个基本的HTML页面...默认的Java Web项目。

1 个答案:

答案 0 :(得分:0)

在大多数情况下,此问题是损坏的jar的异常。 您是否要连接到任何数据库?如果是,请尝试从.jarlib文件夹中删除WebContent文件,然后将文件从计算机目录复制到IDE上的文件夹中,然后重试。如果不是,请尝试对项目中使用的所有.jars执行此过程,然后再次全部替换。