Maven:可选的提供范围?

时间:2013-12-22 22:04:04

标签: maven

我有一段代码是其他解决方案的适配器(例如:A,B,C)。用户选择他们将在他们的项目中使用哪个解决方案(仅一个)(通过此适配器)。显然,我仍然需要使用A,B,C依赖项编译我的代码。但我不想对A,B,C都有compile依赖 - 例如,如果用户选择解A,则他不需要包含B或C.

我应该在POM中声明A,B,C依赖关系:

  1. provided
  2. provided,但optional
  3. 只是从POM中删除它们
  4. 换句话说:provided是否意味着用户必须在其运行时提供实现?

    感谢名单!

    编辑:类似于this question

2 个答案:

答案 0 :(得分:2)

应为provided - optional

请参阅链接问题以获得答案。

答案 1 :(得分:0)

你应该使用提供的。据推测,他们正在实施一个共同的界面(无论是你的还是第三方)。您可以针对该接口进行编译,并且在运行时,它们会以某种方式提供实现。