打包代码的最佳实践

我有一个关于使用wsimport工具生成Java工件的问题(由Maven Jax-WS提供)

当我从WSDL生成Java构件时,我想将Web服务项目打包为WAR文件,并将其客户端打包为JAR文件。

何处放置生成的工件以及放置WSDL的位置? 关于组织Web服务项目的最佳做法是什么?

先谢谢你!

最好的问候,Jurica Krizanic


这些工件将在客户端和服务器端都需要,因此将它们打包在第三个jar文件中,并将其设置为两者的依赖关系。 WSDL应该转到war的WEB-INF文件夹,并且应该设置@WebService@WebServiceClientwsdlLocation属性以反映它的路径。


托管服务的打包选项在JSR 109:用于Java EE的Web服务1.3版中定义。

对于服务:

5.4.2 EJB模块封装

... EJB-JAR文件中的Web服务部署描述符位置是META-INF/webservices.xml 。 wsdl目录位于META-INF/wsdl

5.4.3 Web App模块打包

... Web服务部署描述符位于WEB-INF/webservices.xml的WAR中,而wsdl目录位于WEB-INF/wsdl

对于客户:

客户端可以是以下任何一种:Java EE应用程序客户端,Web组件,EJB组件或其他Web服务。

Web服务客户端部署描述符在模块中的位置是特定于模块的。 WSDL文件位于相对于模块根目录的位置,通常位于与模块部署描述符或其子目录位于同一位置的wsdl目录中。

请注意,此规范将自身限制于Java EE客户端; 这并不意味着您不能在明确提供WSDL的位置拥有非托管客户端。

交叉引用这些规范以获取更多详细信息:

  • JSR 244(JAX-WS)
  • JSR 109(与Java EE集成)
  • JSR 316(Java EE 6)
  • 链接地址: http://www.djcxy.com/p/63061.html

    上一篇: best practice for packing the code

    下一篇: How to style Joomla 2.5 article's intro text?