【问题标题】:JAX-WS Web Services on Tomcat 8 – JAX-WS Library Files Location?Tomcat 8 上的 JAX-WS Web 服务 – JAX-WS 库文件位置?
【发布时间】:2016-06-22 04:33:48
【问题描述】:

对于一个提供web-services的普通JSP web-app,JAX-WS库jar文件应该放在哪里?

<tomcat-home>/lib

或

<web-app>/WEB-INF/lib

为什么?

一般而言,库文件何时被视为容器基础架构的一部分或 Web 应用程序的一部分?

详情

我已经按照以下指南实现了各种 JAX-WS Web 服务:

https://jax-ws.java.net/2.2.10/docs

https://jaxenter.com/creating-soap-web-services-using-jax-ws-117689.html

http://www.mkyong.com/webservices/jax-ws/deploy-jax-ws-web-services-on-tomcat/

http://examples.javacodegeeks.com/enterprise-java/jws/jax-ws-web-services-on-tomcat/

http://www.java2blog.com/2013/03/jaxws-webservice-deployement-on-tomcat.html

虽然上述指南很有用,但在所需的 JAX-WS 库 jar 文件和 JAX-WS 库 jar 文件应驻留的位置方面存在差异。

通过反复试验,对于 JDK 1.8、Tomcat 8.0.30 和 JAS-WS 2.2.10,这是似乎需要的 JAX-WS 库 jar 列表:

gmbal-api-only.jar
ha-api.jar
jaxb-core.jar
jaxb-impl.jar
jaxws-api.jar
jaxws-rt.jar
management-api.jar
policy.jar
stax-ex.jar
streambuffer.jar

我知道 JDK 包含一些 JAX-WS 类,但这些似乎适用于独立的 Java 应用程序 即似乎需要所有上述 jar 文件来避免 ClassNotFoundException 等。

我已阅读Tomcat 8 class-loader how-to

并欣赏有一个父树,分层类加载器和 jar 文件:

<web-app>/WEB-INF/lib
  • 仅适用于该网络应用程序,即对其他网络应用程序隐藏
  • 导致应用程序战争文件膨胀,因为每个网络应用程序都有自己的副本

那个jar文件在:

<tomcat-home>/lib
  • 可供所有网络应用使用和共享
  • 强制所有网络应用使用相同版本的库
  • 库必须在网络应用程序间共享,即没有静态、线程安全等
  • 通过 JNDI 资源工厂(例如 JDBC、邮件等)启用查找
  • 抑制 DriverManager 例如 JDBC 的内存泄漏

当 JAX-WS 库 jar 文件位于任一位置时,Web 服务似乎都可以工作。

看着Metro JAX-WS project, JAX-WS 库 jar 必须从那里下载,现在,我已将它们放入 /lib 中,因为这与 ant 文件中的“安装”选项一致。

作为一般规则,我尽量不要用不必要的库 jar 文件污染 web-container/app-server,因为这可能会导致必须使用特定版本的所需库的其他 web-apps 发生冲突.

感谢阅读。

【问题讨论】:

    标签: web-services jax-ws tomcat8


    【解决方案1】:

    尝试将 Web 服务部署到我的本地 tomcat 安装时遇到了同样的问题。我去了添加你列出的罐子的路线,但请参阅 Apache 所需的说明:

    https://tomcat.apache.org/tomcat-8.0-doc/extras.html#Web_Services_support_(JSR_109)

    ...我认为这将大大减少最终在 Tomcat 的 lib 文件夹中的 jar 数量。

    【讨论】:

      猜你喜欢
      • 2010-12-16
      • 2011-09-26
      • 1970-01-01
      • 2013-05-08
      • 2010-10-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多