程序在tomcat跑没发生异常,不过发布到weblogic出现问题,查了一下,官方的guide如下:
There are two ways to deploy a CXF WAR archive in WebLogic. (Note: This has been validated on WebLogic9.2.
)
1.Put jars in endorsed folder
(This way is not recommended, since it might break the application
server itself. The method below is preferred, as it impacts a single
module only.)
2.Pack war in an ear, deploy the ear with weblogic-application.xml
folder. (Take $CXF_HOME/samples/java_first_spring_support for example)
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE application PUBLIC "-//Sun Microsystems, Inc.//DTD J2EE Application 1.3//EN" "http://java.sun.com/dtd/application_1_3.dtd"> <application> <display-name>spring_http</display-name> <module> <web> <web-uri>spring_http.war</web-uri> <context-root>spring</context-root> </web> </module> </application>
<?xml version="1.0" encoding="UTF-8"?> <weblogic-application xmlns="http://www.bea.com/ns/weblogic/90"> <application-param> <param-name>webapp.encoding.default</param-name> <param-value>UTF-8</param-value> </application-param> <prefer-application-packages> <package-name>javax.jws.*</package-name> </prefer-application-packages> </weblogic-application>
The prefer-application-packages element you see above sets up WebLogic's Filtering Classloader . Each class whose package matches one of the package-name elements listed will be searched for first within the EAR before relying on the WebLogic system classloader's version. If a package for a particular class is not listed here, WebLogic will try to load its own (possibly older) version first, so if you are getting deployment errors due to any particular class you might wish to add its package here.
Also note you can, and may need to, specify other options in the weblogic-application.xml file such as XML processing factories as shown here . See the WebLogic guide for more information.
第一种官方不推荐,不过自己用下倒是立竿见影,可以正常启动,不过程序倒是出现些问题