项目

一般

简介

原生javaWeb项目部署应用启动java.lang.NoSuchMethodError,问题

由 何 善才 在 超过 3 年 之前添加

问题描述信息:

java.lang.Exception: java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'loginTokenServer': Invocation of init method failed; nested exception is java.lang.NoSuchMethodError: org.apache.ws.commons.schema.XmlSchemaCollection.read(Lorg/w3c/dom/Document;Ljava/lang/String;Lorg/apache/ws/commons/schema/ValidationEventHandler;)Lorg/apache/ws/commons/schema/XmlSchema;

解决:

1、jvm添加参数:-Dcom.sun.enterprise.overrideablejavaxpackages=javax.ws

2、添加apusic-web.xml文件到WEN-INF下,优先加载应用内jar包,解决jar冲突问题

文件信息如下:

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE aas-web-app PUBLIC "-//Apusic.com//DTD Apusic Application Server 10.1 Servlet 3.0//EN" "http://apusic.com/dtds/apusic-web-app_3_0-1.dtd&quot;&gt;&nbsp;
<aas-web-app error-url=""> 
<class-loader delegate="false"/> 
</aas-web-app>

3、重启服务器,重新进部署