weblogic项目转为tomcat之后出现的问题
解决java - JAX-WS和版本冲突
推荐:JWS,JAX-WS,JAX-RS,REST,Restlet,SOAP(JAVA Web Services技术)
JWS,JAX-WS,JAX-RS,REST,Restlet,SOAP l JWS:是指与webservice相关的J2EE(其实现在应该叫做Java EE吧)技术叫做JWS(全称就是java webservice)。没错,
2018阿里云全部产品优惠券(新购或升级都可以使用,强烈推荐)
领取地址:https://promotion.aliyun.com/ntms/act/ambassador/sharetouser.html?userCode = hu9qh5ki&utm_source = hu9qh5ki
作为测试项目,我使用wsdl和jax-ws创建了一个非常简单的WebService。如果客户端在GlassFish中部署为Web应用程序但是如果我直接在Eclipse中启动相同的(WebService-)代码,则会运行得很好,我收到以下错误:
WARNUNG: Input Action on WSDL operation AddNumbers and @Action on its associated Web Method addNumbers did not match and will cause problems in dispatching the requests
Exception in thread "main" java.lang.NoClassDefFoundError: org/glassfish/ha/store/api/BackingStoreException
at com.sun.xml.ws.rx.mc.runtime.McConfigurationFactory.createInstance(McConfigurationFactory.java:66)
at com.sun.xml.ws.rx.mc.runtime.McTubeFactory.createTube(McTubeFactory.java:68)
at com.sun.xml.ws.assembler.TubeCreator.createTube(TubeCreator.java:84)
at com.sun.xml.ws.assembler.TubelineAssemblerFactoryImpl$MetroTubelineAssembler.createClient(TubelineAssemblerFactoryImpl.java:130)
at com.sun.xml.ws.client.Stub.createPipeline(Stub.java:228)
at com.sun.xml.ws.client.Stub.<init>(Stub.java:205)
at com.sun.xml.ws.client.Stub.<init>(Stub.java:178)
at com.sun.xml.ws.client.sei.SEIStub.<init>(SEIStub.java:85)
at com.sun.xml.ws.client.WSServiceDelegate.createEndpointIFBaseProxy(WSServiceDelegate.java:608)
at com.sun.xml.ws.client.WSServiceDelegate.getPort(WSServiceDelegate.java:348)
at com.sun.xml.ws.client.WSServiceDelegate.getPort(WSServiceDelegate.java:330)
at com.sun.xml.ws.client.WSServiceDelegate.getPort(WSServiceDelegate.java:312)
at javax.xml.ws.Service.getPort(Service.java:134)
at mnm.namedesdienstes.webservice.service.NameDesDienstesService.getNameDesDienstesPortTypePort(NameDesDienstesService.java:56)
at webserviceClient.NameDesDienstesClient.myTest(NameDesDienstesClient.java:12)
at webserviceClient.NameDesDienstesClient.main(NameDesDienstesClient.java:25)
Caused by: java.lang.ClassNotFoundException: org.glassfish.ha.store.api.BackingStoreException
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
... 16 more
经过一些研究后,我发现它必须与某些库文件的不同版本有关。所以现在我的问题是,如何“修复”我的eclipse java执行来正确运行我的webservice客户端?我找到了一些技巧,将一些jar复制到一个endorsed目录,但是哪个jar到哪个目录:-)
我正在使用Max OS 10.6.8,Eclipse Project使用JVM 1.6。我的Mac Java版本是
xmacbook:~ cstraube$ java -version
java version "1.6.0_26"
Java(TM) SE Runtime Environment (build 1.6.0_26-b03-384-10M3425)
Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02-384, mixed mode)
更新:我的第一次尝试(感谢remipod的链接)我执行了以下步骤:
- 获取认可的lirbaries目录
System.out.println(System.getProperty("java.endorsed.dirs")); - 接下来,我将两个文件JAXWS2.1.7-20090419.jar和JAXB2_20080513.jar(两个版本2.1.7)复制到此目录中
- 不幸的是,我仍然遇到同样的错误
javaeclipseweb-services | 这个问题 编辑于2011年9月28日9:22询问2011年9月28日9:05 strauberry 2,800 3 23 45从这个文件创建你自己的BackupStoreException: svn-mirror.glassfish.org/glassfish-svn/trunk/api/ha -api / src / ...为我工作。- Karl Geerts 2011年11月8日9:28
|
4 答案
4
在tomcat 7中部署Web服务(JAX-WS)时,我遇到了类似的问题。可以在ha-api.jar中找到缺少的类定义。 org/glassfish/ha/store/api/BackingStoreException
您应该将ha-api.jar(来自JAX-WS发行版)添加到服务器lib中。对于我的情况,eclipse运行tomcat 7,所以位置是(Tomcat 7.0 \ lib)。
| 这个答案回答于2013年5月14日15:33 indrap 520 2 8 17
| 解决方法
您必须将jaxws-api.jar和jaxb-api.jar 的拟合版本复制到目录/ Library / Java / Home / lib / endorsed(Mac)中。
| 这个答案 编辑 于2012年5月8日22:32扎克汤普森 9,900 30 48回答11年8月8日在7:39 strauberry2,800 3 23 45您可能需要添加ha-api.jar(记住版本),因为这为我修好了。- Continuity82015年3月4日9:04
|
看看这个链接JAX WS与WS 2.1.1。您需要优先使用jre 1.6提供的jaxws版本的jaxws。
编辑: Glassfish已经包含了一些库,以及java 6.我必须在glassfish 3.1 / 3.1.1和java 6/7中跟踪与jaxws的版本冲突。您可以检查eclipse用于启动应用程序的确切java运行时和在有效的类路径上查找重复的jar。
认可机制只是提供了一种简单且容易出错的方式来覆盖包含的jaxws分发。容易出错,因为你的同事会遇到同样的问题。
推荐:为什么我在eclipse中新建一个java web项目的时候多出了几个文件(Jax-Ws-Web Services等等)我原先的项
如截图所示,可能是因为选择的视图为JAVAEE所以就会出现下面的情况视图切换java没有计算原项目面搞web服务只需要打开Java视图即可窗口菜单---> Open Per
我没有在jaxws的上下文中看到异常org.glassfish.ha.store.api.BackingStoreException。您的版本冲突可能由另一个库创建,而不是jaxws ...
| 这个答案 编辑于2011年9月28日9:50回答2011年9月28日9:09 remipod 5,983 1 15 21谢谢你的回答!我已经更新了我的问题...... - 斯特劳贝里2011年 9月28日9:23
|
我经历了完全相同的例外
org.glassfish.ha.store.api.BackingStoreException
在确保我的JAX-WS和JAX-B罐子都是相同版本后,问题仍然存在。
修复:然后我添加ha-api.jar到WEB-INF \ lib目录,这解决了这个问题。
这里的线索是异常类路径中的“ha”包,如上所示。希望这可以帮助!
| 这个答案回答于2015年3月4日9:03 Continuity8 456 1 4 25
|
这是一个向导,向您展示如何在Tomcat servlet容器上部署JAX-WS Web服务。请参阅以下Web服务部署的摘要步骤。铬
weblogic项目转为tomcat之后出现的问题的更多相关文章
- 将Maven2项目转为MyEclipse项目
现在项目中,大家开始用jetty.它不用像在MyEclipse中使用Tomcat那样要部署,也不用像在Tomcat中那样,要把应用都放到webapp文件夹下.jetty可以直接用你的项目的目录结构. ...
- 如何用Eclipse将普通的JavaWeb项目转为Maven项目
最新自己的第一个项目差不多稳定运行之后 想着将项目转为Maven项目.于是参考网上成功的将自己的普通的项目转为了maven项目,现在记录一下: 0.普通的java项目的结构如下: 1.接下来开始进行正 ...
- JFinal 项目 在tomcat下部署
原文:http://my.oschina.net/jfinal/blog/353062 首先明确一下 JFinal 项目是标准的 java web 项目,其部署方式与普通 java web 项目没有任 ...
- Eclipse部署Maven web项目到tomcat服务器时,没有将lib下的jar复制过去的解决办法
我们在做web开发是,经常都要在eclipse中搭建web服务器,并将开发中的web项目部署到web服务器进行调试,在此,我选择的是tomcat服务器.之前部署web项目到tomcat进行启动调试都很 ...
- Red5 1.0.0RC1 集成到tomcat6.0.35中运行&部署新的red5项目到tomcat中
1.下载red5-war-1.0-RC1.zip 解压之得到 ROOT.war 文件. 2.处理tomcat. 下载apache-tomcat-6.0.35-windows-x86.zip包,解压到你 ...
- maven 项目启动tomcat报错 java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener
maven项目启动tomcat报错: java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderLi ...
- 部署Eclipse中的Web项目到Tomcat服务器运行
用Eclipse开发Web项目时,可以通过Tomcat服务器运行Web项目,此时Web项目被部署在[WorkSpace]\.metadata\.plugins\org.eclipse.wst.serv ...
- eclipse中如何将java项目转为java Web项目
有时候我们在eclipse中导入web项目时,系统当做一个java项目导入进来了.这时候在启动tomcat的服务器时无法找到该项目. 那么可以通过如下操作来将java项目转换为web项目. 1. 选择 ...
- Maven发布web项目到tomcat
在java开发中经常要引入很多第三方jar包:然而无论是java web开发还是其他java项目的开发经常会由于缺少依赖包引来一些不必要的异常.常常也是因为这样的原因导致许多简单的缺包和版本问题耗费大 ...
随机推荐
- python基础之字符串类型
一.python字符串类型概述 定义:在单引号\双引号\三引号内,由一串字符组成 name='Test' name = 'test' print(type(name)) --------------- ...
- 信息学C++教程<-3->输入输出格式控制
二进制输出整数 在计算机系统内的数据本身就是二进制 思考:在C++中,如何通过cout函数来输出二进制的数字呢? 所需库文件:1.iomanip //管理C++格式控制 2.bitset //二进 ...
- unity lua require dofile loadfile 区别
oadfile,加载文件,编译文件,并且返回一个函数,不运行 dofile其实就是包装了Loadfile,根据loadfile的返回函数运行一遍 require加载文件的时候,不用带目录,有lua自己 ...
- Redis学习笔记八:集群模式
作者:Grey 原文地址:Redis学习笔记八:集群模式 前面提到的Redis学习笔记七:主从复制和哨兵只能解决Redis的单点压力大和单点故障问题,接下来要讲的Redis Cluster模式,主要是 ...
- oepncv实现——图像去水印
功能简介:通过拖动鼠标实现指定区域水印或是斑点的去除. 实现原理:利用opencv鼠标操作setMouseCallback函数框选(左上到右下)需要处理的区域,按下鼠标开始选中,松开鼠标结束,对选中区 ...
- 七、Numpy高效数据处理
Numpy的主要作用是进行矩阵运算 在使用时首先要导入包 import numpy as np np.version.version 用来查看版本信息 # 构建一维数组 n1=np.array([1, ...
- 基于SSL(TLS)的HTTPS网页下载——如何编写健壮的可靠的网页下载
源码下载地址案例开发环境:VS2010本案例未使用openssl库,内部提供了sslite.dll库进行TLS会话,该库提供了ISSLSession接口用于建立SSL会话. HTTP协议很简单,写个简 ...
- 错误档案2:MySQL8.0连接C3P0的问题
>>>跳过BB,空降正文<<< 目录 前言 问题出现 解决方法 结论 前言 大家好呀,我是 白墨,一个热爱学习与划水的矛盾体. 前两天在使用C3P0连接池时遇到问题 ...
- 三、部署被监控主机-Zabbix Agent
三.部署被监控主机-Zabbix Agent 1) 源码安装Zabbix agent软件 在2.100和2.200做相同操作(以zabbixclient web1为例). [root@zabbixcl ...
- go语言的排序和搜索(转载)
http://studygolang.com/articles/1598 go语言的排序和搜索 晚上准备动手写点 go 的程序的时候,想起 go 如何排序的问题.排序 sort 是个基本的操作,当然搜 ...