0

我在 Win 7 64 位的 maven 环境中使用 Eclipse Indigo 和 Tomcat 6,Java 1.5 作为编译器。我的项目编译没有错误,直到我启动服务器时,我得到以下堆栈跟踪。

我试过的:

  1. rt.jar包含 ZipException 类的文件添加到 Tomcat 6.0lib文件夹中
  2. rt.jar通过 Eclipse 的项目构建路径作为外部库添加到工作区项目
  3. 添加依赖项以包含rt.jar在项目pom文件中
  4. 看了这个类似的 SO question,但有一个不同的例外,找不到 0 字节的 jar 文件。
  5. 试过重启eclipse,清理服务器,清理Tomcat的工作目录
  6. 在服务器应用程序中添加和删除应用程序
  7. 创建了一个全新的工作区并添加了项目(编译正常),添加了 Tomcat6 服务器并执行了第 1-6 项无济于事

请帮助我,你是我唯一的希望

堆栈跟踪

Bootstrap: Class loader creation threw exception
java.lang.IllegalArgumentException: addRepositoryInternal
    at org.apache.catalina.loader.StandardClassLoader.addRepositoryInternal(StandardClassLoader.java:957)
    at org.apache.catalina.loader.StandardClassLoader.<init>(StandardClassLoader.java:174)
    at org.apache.catalina.startup.ClassLoaderFactory.createClassLoader(ClassLoaderFactory.java:209)
    at org.apache.catalina.startup.Bootstrap.createClassLoader(Bootstrap.java:163)
    at org.apache.catalina.startup.Bootstrap.initClassLoaders(Bootstrap.java:105)
    at org.apache.catalina.startup.Bootstrap.init(Bootstrap.java:196)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:402)
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:203)
    at java.util.jar.JarFile.<init>(JarFile.java:132)
    at java.util.jar.JarFile.<init>(JarFile.java:70)
    at org.apache.catalina.loader.StandardClassLoader.addRepositoryInternal(StandardClassLoader.java:944)
    ... 6 more
4

1 回答 1

0

为什么您坚持将rt.jar(我假设是 Java 运行时)添加到应用程序级类路径?您应该创建rt.jar一个提供的依赖项并依赖于rt.jar支持的 Tomcat(以及其中的所有应用程序)。

于 2013-09-04T19:26:31.453 回答