额外的依赖我有下一个模块Maven项目:app
,app-impl
,web
。我用maven-war-plugin构建web。现在app-impl
取决于app
。 web
取决于app-impl
。加入战争建筑
但web
应该只依赖于app
。由一些魔法战争插件应包括战争中的app-impl
。我可以不用额外的Maven模块吗?
额外的依赖我有下一个模块Maven项目:app
,app-impl
,web
。我用maven-war-plugin构建web。现在app-impl
取决于app
。 web
取决于app-impl
。加入战争建筑
但web
应该只依赖于app
。由一些魔法战争插件应包括战争中的app-impl
。我可以不用额外的Maven模块吗?
我绝对同意@Torsten,但也许有一些有效的在您的要求:
使用IDE开发项目的时候,可以要求其停止提供您的实现类在代码完成列表。
如果这是你的理由,只需要添加两个依赖,并为实现一个,指定<scope>runtime</scope>
。 这确保了:
app
模块得到的javac类路径,但app-impl
不app
和app-impl
将WEB-INF/lib/
下你的战争app-impl
这绝对不会节省您的击键,但给你一个更好的pom,仔细模式扼杀现实。
恕我直言,app
依赖于web
不反映现实,因为您的网络应用程序真的取决于我假设您已在app
中定义的接口的实现。
考虑让可替换的实现可以说app-impl2
。 maven怎么可能决定它应该选择哪个实现?
因此,有网络依赖于应用程序,实现了一套是我去并给出了上面的设置也应努力开箱即用的方式。
我完全同意,谢谢你的补充。 – Torsten
运行时范围,这是我寻找。谢谢。 –