2012-11-02 60 views
0

额外的依赖我有下一个模块Maven项目:appapp-implweb。我用maven-war-plugin构建web。现在app-impl取决于appweb取决于app-impl加入战争建筑

web应该只依赖于app。由一些魔法战争插件应包括战争中的app-impl。我可以不用额外的Maven模块吗?

回答

2

我绝对同意@Torsten,但也许有一些有效的在您的要求:

使用IDE开发项目的时候,可以要求其停止提供您的实现类在代码完成列表。

如果这是你的理由,只需要添加两个依赖,并为实现一个,指定<scope>runtime</scope>。 这确保了:

  • app模块得到的javac类路径,但app-impl
  • appapp-implWEB-INF/lib/下你的战争
  • IDE放置(使用得当的话)不会为您提供完成从app-impl

这绝对不会节省您的击键,但给你一个更好的pom,仔细模式扼杀现实。

+0

我完全同意,谢谢你的补充。 – Torsten

+0

运行时范围,这是我寻找。谢谢。 –

2

恕我直言,app依赖于web不反映现实,因为您的网络应用程序真的取决于我假设您已在app中定义的接口的实现。

考虑让可替换的实现可以说app-impl2。 maven怎么可能决定它应该选择哪个实现?

因此,有网络依赖于应用程序,实现了一套是我去并给出了上面的设置也应努力开箱即用的方式。