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

时间:2013-08-09 16:11:04

标签: java maven

我有一个maven父项目,它有两个子模块(spring ws archetypes),每个模块都打算在自己的应用服务器中部署。其中一个模块公开了ws端点,该端点由另一个模块中的ws客户端使用。 我的问题是我将在两个模块中都有jaxb和xsd生成的java对象,除非我找到分享这组类的方法而不复制它。 有没有办法将特定包从一个模块导入另一个模块?还有其他更合适的方法来处理这个问题吗? 干杯!

1 个答案:

答案 0 :(得分:1)

  • 创建一个仅包含api类接口的ws-api maven模块。
  • 创建一个取决于ws-impl的{​​{1}},因为它实现了它。
  • 使用ws-api模块创建client模块作为其依赖关系,因为它使用它。

然后你有以下结构,你可以重用api clases并且你有一个明确的api:

ws-api

模块依赖项将是

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

在此设置中,必须在+------------+ uses +------------+ | client | --------> | ws-api | +------------+ +------------+ ^ | implements | +------------+ | ws-impl | +------------+ 模块中生成jaxb对象。

有关分离api和实现的原因的详细说明,请查看我的博客 http://www.link-intersystems.com/blog/2012/02/26/separation-of-api-and-implementation/