首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JAX-WS2.2和带有maven的JDK6

JAX-WS2.2和带有maven的JDK6
EN

Stack Overflow用户
提问于 2012-09-28 06:32:01
回答 2查看 1.5K关注 0票数 0

我有一个web服务,我正在使用Endpoint.publish("http://0.0.0.0:8080")

问题是,JAX-WS 2.0 and 2.1在执行endpoint.stop()时会抛出NullPointerException

这个问题已经在2.2中修复了,但是当在pom.xml中添加依赖项时,由于我使用的是java 1.6,所以发布会因为java.lang.NoSuchMethodError: javax.xml.ws.WebFault.messageName()Ljava/lang/String;而失败。

解决方法是向endorsed文件夹中添加一些库。但我想把它全部打包在jar-with-dependencies中。一个可执行的java jar。

说到这里,如果你能帮助我,我将不胜感激:

代码语言:javascript
复制
Publishing the endpoint in 2.0 or 2.1 listening to all addresses (0.0.0.0)

代码语言:javascript
复制
Configuring dependencies in maven to pack everything using 2.2.x 
but executable with JDK6

编辑:

需求是一个可交付的jar。打包所有依赖项的单个jar (到目前为止,大约有2个,大约400k )。

但是如果你认为唯一能让它工作的方法就是添加一个外部shell脚本,请也让我知道。

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-09-28 06:50:29

可执行jar格式不允许JAX-WS替换所需的批注文件夹(显然,Java启动器也不允许)。

你需要使用一些可以动态构造和执行新的"java“命令的东西。从这里开始,最好的方法是寻找一个可以直接运行程序而不需要安装的安装程序。

你到底需要做些什么?

编辑:因为要求是一个可运行的jar,所以使用JAX-WS2.2不能做到这一点。使用JAX-WS可以解决目标Java版本的最新版本中的JAX-WS问题。

JAX-WS堆栈为非常小的部署提供了核心Java allowign,这是非常好的,但是您不能轻易地提供您自己的痛苦。

请注意,您可以使用Java5提供您自己的端点实现,但是您需要带上您自己的端点实现。

票数 2
EN

Stack Overflow用户

发布于 2012-09-28 17:08:17

您需要使用JAX-WS吗?您可以改用CXF,它是一个很好的JAX-WS实现,不会遇到与RI相同的冲突问题。

编辑:您可以尝试使用RI生成类,但在部署中使用CXF。JAX-WS毕竟是一个规范,所以它应该可以工作……

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12631002

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档