我有
- Windows Server 2012 R2 上的 WebSphere Liberty 17.0.0.1“BASE_ILAN”x86_64
- Windows 10 x86_64 上的 Eclipse Neon.3(同一 LAN 上的独立服务器)
- 运行 Liberty 的 Oracle Java JDK 1.8.0_121
- 运行 Eclipse 的 IBM JDK 8(来自 Eclipse bundle )(需要它来支持 Windows 远程服务器启动/停止)
在 bin
目录,productInfo featureInfo
返回很多东西,但其中:
- jaxws-2.2 [1.0.0]
- javaee-7.0 [7.0.0](因为这是一个方便的功能,带来了大量其他东西,你可能可以推断出我还有多少其他东西)
在我的 server.xml 中,<featureManager>
下,我有一个<feature>...</feature>
用于:
- javaee-7.0
- localConnector-1.0
- jsf-2.2
- restConnector-2.0
- jaxws-2.2
- jaxrs-2.0
在 Eclipse 中,我右键单击我的 WAR 项目,转到 New -> Other...,然后选择 Web Services -> Web Service。单击“下一步”。
现在我有一个包含以下字段的对话框:
- Web 服务类型:“自下而上的 Java bean Web 服务”
- 服务实现:
some.package.SomeWebService
(来 self 的代码;它包含正确的@WebService
注释等) - 将服务 slider 设置为“启动服务”,并将底部设置为“无客户端”
- 配置:
- 服务器运行时:WebSphere Application Server Liberty
- Web 服务运行时:IBM WebSphere JAX-WS
- 服务项目:
<my WAR project>
- 服务 EAR 项目:
<my EAR project>
- 未选中“发布 Web 服务”复选框
- 未选中“监视 Web 服务”复选框
- “覆盖文件而不发出警告”复选框已选中
当我单击“下一步”时,我收到以下警告:
The project is targeted against a server without IBM WebSphere JAX-WS support. Continuing code generation will result in compilation errors.
如果单击“确定”,则会转到另一个对话框“WebSphere JAX-WS 自下而上 Web 服务配置”,其中包含各种选项。无论我在此处选择什么,当单击“下一步”或“完成”时,我都会收到以下错误:
Tools for the targeted server must be installed in order to generate Web services code.
如何克服这个问题并将 JAX-WS 与 Liberty 结合使用?我有完整的 EE 配置文件,所以它应该可以工作,对吗?
我已经尝试在服务器 -> 运行时环境 -> 编辑 -> 高级下刷新缓存。我什至删除并重新创建了我的服务器,并删除了 Liberty 目录并从头开始再次解压它,从一开始就嵌入了 jaxws 和 Java EE 完整配置文件支持。
最佳答案
尝试设置目标运行时间。右键单击 WAR 项目,然后选择“属性”,然后选择“目标运行时”。选中您创建的运行时环境旁边的复选框,可以在运行时资源管理器 View 中查看。
关于eclipse - Eclipse 中的 WebSphere Liberty JAX-WS Web 服务生成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43328527/