繁体   English   中英

将包导入到同一Maven项目的其他模块中

[英]Import package into other module of the same maven project

我有一个maven父项目,该项目有两个子模块(spring ws原型),每个子模块都打算部署在自己的应用程序服务器中。 其中一个模块公开了一个ws端点,该端点由另一个模块中的ws客户端使用。 我的问题是,除非我找到了无需复制它即可共享这组类的方法,否则我将在两个模块中都有jaxb和xsd生成的java对象。 有什么方法可以将特定程序包从一个模块导入另一个模块? 还有其他更合适的方法来解决此问题吗? 干杯!

  • 创建一个仅包含api类接口的ws-api maven模块。
  • 创建一个依赖于ws-apiws-impl ,因为它实现了它。
  • 使用ws-api模块作为依赖项来创建client模块,因为它使用它。

然后,您将具有以下结构,可以重复使用api类别,并且拥有清晰的api:

parent-pom
   +- ws-api
   +- ws-impl
   +- client

模块依赖项将是

+------------+       uses     +------------+
|   client   |    -------->   |   ws-api   |
+------------+                +------------+
                                    ^
                                    | implements
                                    |
                              +------------+
                              |  ws-impl   |
                              +------------+

在此设置中,必须在ws-api模块中生成jaxb对象。

有关为何将api和实现分开的详细说明,请参阅我的博客http://www.link-intersystems.com/blog/2012/02/26/separation-of-api-and-implementation/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM