什么可以导致Play模块加载两次?

时间:2011-12-15 11:26:24

标签: java resources playframework

我正在尝试associations module,但它失败了,因为它试图两次增强同一个对象。调试我的测试用例,我发现我有两个这个模块和less-css模块加载的实例!似乎play.plugins文件作为两个资源加载:

  • 文件:/ C:!/work/CS/portal/src/modules/associations-1.0.1/lib/play-associations.jar /play.plugins
  • 罐子:文件:/ C:!/work/CS/portal/src/modules/associations-1.0.1/lib/play-associations.jar /play.plugins

这导致pluginsToLoad变量包含此模块的两个副本,并且一切都从此处变得混乱。

这是我的错误配置吗?我如何进一步调查/解决?

该模块仅在我的dependencies.yml中出现一次,并且不出现在application.conf

See here for a screenshot

更新 - 类似路径似乎包含:

C:\work\CS\portal\src\modules\associations-1.0.1\src;
C:\work\CS\portal\src\modules\associations-1.0.1\lib\play-associations.jar;

在src文件夹和jar中都存在play.plugins文件。现在我需要理解为什么两者都在类路径中。

3 个答案:

答案 0 :(得分:0)

如果您将模块放入您的模块,就会发生这种情况   dependencies.yml 并将其声明为 application.conf

中的模块

删除application.conf中的条目

答案 1 :(得分:0)

我相信这是play idealize中的错误。我在iml文件中找到了这些条目:

<library name="Project Libraries">
  <CLASSES>
    <root url="file://$MODULE_DIR$/lib" />
    <root url="file://$MODULE_DIR$/modules/less-0.3/src" />
    <root url="file://$MODULE_DIR$/modules/associations-1.0.1/src" />
    <root url="file://$MODULE_DIR$/modules/less-0.3/lib" />
    <root url="file://$MODULE_DIR$/modules/associations-1.0.1/lib" />
  </CLASSES>
...

I've submitted a bug(解决方法是手动删除/src条目)

答案 2 :(得分:0)

我有相同的症状,播放模块被加载两次。

我发现这是“play war”1.2-beta2插件中的一个错误导致我的主jar文件被创建两次,名称略有不同,然后都包含在“WEB-INF / lib”目录中我的战争档案。

我将插件升级到最新的1.2-beta4,似乎已经修复了