Play !:使用不同版本的jar而不是本地存储库

时间:2013-04-10 06:57:20

标签: jar playframework classloader

播放!框架附带了大量的jar库。我正在使用版本1.7的apache commons-codec for my Play!应用。但是玩!已经附带1.4版和其他一些旧版本。我已将我的commons-codec-1.7.jar放在lib文件夹中,并且'eclipsified'因此jar文件位于类路径中。但是当我在Eclipse中展开Project Explorer时,我发现应用程序引用了1.7和1.4版本。我的问题是

  1. 如何从引用中删除1.4版?
  2. 为什么应用程序选择版本1.4,即使版本1.3和1.2存在于[PLAY_HOME] / repository / local
  3. 这是一个合作项目。我想确保一旦我在git中推送代码并且我的同事们将它拉出来,他们就不需要做同样的'hack',只需'clean'和'compile'。怎么办呢?
  4. 是的,我正在使用Play! 2.0.4

1 个答案:

答案 0 :(得分:1)

commons-codec添加到您的Build.scala,您就可以了。依赖关系是正确的,因为指定的依赖关系将覆盖默认的依赖关系。

val appDependencies = Seq(
  "commons-codec" % "commons-codec" % "1.7"
)
  1. 您无需删除版本1.4。版本1.7现在将生效。
  2. 这是由它们在类路径中显示的顺序引起的。
  3. play compile会这样做。而且你必须再次使这个项目黯然失色。
  4. 不要忘记从commons-codec文件夹中删除lib。如上所述,它将被下载并自动放入类路径中。