开发者社区 问答 正文

服务器本地主机上的Tomcat v7.0服务器无法启动。java.lang.IllegalArgum

我正在通过Tomcat 7上的Eclipse部署SOAP Web服务。但是出现以下异常,服务器无法启动。我尝试删除服务器并再次添加它,但是此错误仍然存​​在。关于这个问题有什么建议吗?

Dec 12, 2019 3:28:24 AM org.apache.catalina.core.AprLifecycleListener init
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files\Java\jdk1.6.0_45\bin;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\Program Files\Java\jdk1.6.0_45\jre\bin;C:/Program Files/Java/jdk1.6.0_45/bin/../jre/bin/server;C:/Program Files/Java/jdk1.6.0_45/bin/../jre/bin;C:/Program Files/Java/jdk1.6.0_45/bin/../jre/lib/amd64;C:\Program Files (x86)\RSA SecurID Token Common;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\130\Tools\Binn\;C:\Program Files (x86)\Microsoft SQL Server\140\Tools\Binn\;C:\Program Files\Microsoft SQL Server\140\Tools\Binn\;C:\Program Files\Microsoft SQL Server\140\DTS\Binn\;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;C:\Program Files\Java\jdk1.6.0_45\bin;C:\Users\tahir.akram\AppData\Local\Microsoft\WindowsApps;;C:\Users\tahir.akram\OneDrive - Accenture\Softwares\eclipse-jee-indigo-SR2-win32-x86_64(1)\eclipse;;.
Dec 12, 2019 3:28:24 AM org.apache.tomcat.util.digester.SetPropertiesRule begin
WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:History_WS' did not find a matching property.
Dec 12, 2019 3:28:25 AM org.apache.coyote.AbstractProtocolHandler init
INFO: Initializing ProtocolHandler ["http-bio-8080"]
Dec 12, 2019 3:28:25 AM org.apache.coyote.AbstractProtocolHandler init
INFO: Initializing ProtocolHandler ["ajp-bio-8009"]
Dec 12, 2019 3:28:25 AM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 999 ms
Dec 12, 2019 3:28:25 AM org.apache.catalina.core.StandardService startInternal
INFO: Starting service Catalina
Dec 12, 2019 3:28:25 AM org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/7.0.12
java.lang.IllegalArgumentException
    at java.util.zip.ZipInputStream.getUTF8String(ZipInputStream.java:317)
    at java.util.zip.ZipInputStream.getFileName(ZipInputStream.java:436)
    at java.util.zip.ZipInputStream.readLOC(ZipInputStream.java:255)
    at java.util.zip.ZipInputStream.getNextEntry(ZipInputStream.java:82)
    at java.util.jar.JarInputStream.<init>(JarInputStream.java:65)
    at java.util.jar.JarInputStream.<init>(JarInputStream.java:44)
    at org.apache.catalina.util.ExtensionValidator.getManifest(ExtensionValidator.java:394)
    at org.apache.catalina.util.ExtensionValidator.validateApplication(ExtensionValidator.java:195)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5015)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
    at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1033)
    at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:774)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
    at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1033)
    at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:291)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
    at org.apache.catalina.core.StandardService.startInternal(StandardService.java:443)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
    at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:727)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
    at org.apache.catalina.startup.Catalina.start(Catalina.java:620)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:303)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:431)

展开
收起
垚tutu 2019-12-12 09:20:03 1363 分享 版权
阿里云 AI 助理回答

从您提供的错误信息来看,存在两个主要问题:

  1. Apache Tomcat Native Library未找到: 这个警告信息意味着Tomcat没有找到其原生库(apr),这个库能够提供更好的性能。要解决这个问题,您可以尝试以下步骤:

    • 确保已安装了Apache Tomcat Native Library。如果没安装,可以从这里下载并按照说明安装。
    • 安装后,确保tcnative-1.dll文件(或适用于您的系统的相应版本)位于Java的bin目录下,或者该文件路径被添加到了系统的java.library.path环境变量中。
    • 如果已经安装但仍然报错,检查环境变量设置是否正确,并确认Eclipse启动时能够访问这些环境变量。
  2. IllegalArgumentException异常: 这个异常通常与Web应用的部署包(如war文件)有关,可能是由于压缩格式不兼容、损坏或不正确的编码导致的。可以尝试以下几个解决方案:

    • 清理项目,重新构建生成war文件。
    • 检查war文件的完整性,可以尝试解压看看是否有损坏。
    • 确认项目中没有使用非标准字符或特殊字符在文件名或路径中,这可能导致解压时出现问题。
    • 在Eclipse中,右键点击项目 -> Properties -> Deployment Assembly,检查部署配置是否正确,确保所有需要的资源都被包含进去了。
    • 重启Eclipse和Tomcat服务器,有时候简单的重启能解决一些奇怪的问题。

如果以上步骤都不能解决问题,建议查看Eclipse的日志文件和Tomcat的日志文件(通常位于logs目录下),可能会有更详细的错误信息帮助定位问题。同时,考虑到您使用的Tomcat版本较老(7.0.12),也有可能是与当前的操作系统或JDK版本存在兼容性问题,考虑升级到更高版本的Tomcat也是一个选项。您也可以通过ECS一键诊断全面排查并修复ECS问题。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答