Maven依赖,新的JAR不能与我的JDK一起使用

时间:2016-03-15 23:30:16

标签: maven

  1. Jackson是一个JSON库。针对v2.0-v2.7发布的JAR在JDK 6+上工作。 v2.8需要JDK 7 +。
  2. 我有一个图书馆" Blah"这取决于任何杰克逊,适用于任何2.x版本。 Blah本身适用于JDK 6 +。
  3. 以下是我担心的情景:有人使用" Blah"在他们的Android项目中。如果他们瞄准JDK 7+,那么Maven可以过渡到Jackson v2.8。但是如果项目需要在JDK 6上运行,那么Maven怎么知道拉入Jackson v2.7呢?

    一个修复是将<dependencyManagement>部分添加到Android项目&#34; pom.xml&#34;。除了这是乏味的,这是一个痛苦的过程,甚至弄清楚它是必要的。人们将首先做正常的依赖性事情并遇到奇怪的不支持的类文件格式&#34;错误。之后,他们必须四处搜索以找出问题所在,然后添加<dependencyManagement>部分(如果他们甚至知道它是什么)。

    默认情况下,有没有办法让Maven正常运行?例如,Jackson v2.8&#34; pom.xml&#34;是否有办法?要说它需要JDK 7+和Android项目&#34; pom.xml&#34;说它需要在JDK 6上运行?这应该给Maven所需的所有信息,对吗?

1 个答案:

答案 0 :(得分:0)

使用Maven3,使用&#34;提供的&#34;范围,让你的图书馆的消费者为JDK7 / 8 /无论如何引入适当的Jackson库,假设接口/ API是相同的,它应该正常工作。