首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Play Framework1.2.4:根据"play依赖项“命令修改的自定义jars

Play Framework1.2.4:根据"play依赖项“命令修改的自定义jars
EN

Stack Overflow用户
提问于 2012-03-30 00:09:32
回答 2查看 1.9K关注 0票数 2

我试图在本地文件夹中指定自定义依赖项,我的dependencies.yml文件如下所示:

代码语言:javascript
复制
require:
   - play
   - my.group -> module-1 0.0.1
   - my.group -> module-2 0.0.1-SNAPSHOT
   - my.other.group -> module-1 1.0-alpha
   - my.other.group -> module-2 1.2.0

repositories:
   - jars:
      type:     local
      artifact: "${application.path}/jars/[module]-[revision].jar"
      contains:
         - my.group -> *
         - my.other.group -> *

我有两个问题:

1:具有与我的播放模块相同的组ID的jars不会被复制。运行play deps --verbose显示找到了它们(found my.group#module-1;0.0.1 in jars in [default]),但是“安装已解析的依赖项”部分添加了一个与其他路径不同的奇怪路径。虽然来自其他组ID的jars被列为lib/module-2-1.2.0.jar,但我模块中的jars显示为modules/lib -> <path/to/play/proj>/lib。因此,尽管依赖项解析看起来是成功执行的,但是这些特定的jars不会被复制。

如果我将dependencies.yml更改为这种格式:

代码语言:javascript
复制
require:
   - play
   - my.group.module-1 -> module-1 0.0.1
   - my.group.module-2 -> module-2 0.0.1-SNAPSHOT
   - my.other.group -> module-1 1.0-alpha
   - my.other.group -> module-2 1.2.0

repositories:
   - jars:
      type:     local
      artifact: "${application.path}/jars/[module]-[revision].jar"
      contains:
         - my.group.module-1 -> *
         - my.group.module-2 -> *
         - my.other.group -> *

在“包含”部分的声明中包含模块名,则可以成功地复制jars。这就引出了我的第二个问题:

他说:当我运行play deps时,我的jars似乎要么是在被复制时被修改,要么是从一些较旧的缓存版本中被删除。在运行我的程序时,我的行为不一致,好像在使用旧代码。我在lib和jars文件夹上做了一个ls -al比较,复制的jars上的文件大小比原始的要小得多。

知道这里发生了什么事吗?我已经能够通过手动复制jars来解决这个问题,但是我不知道为什么来自特定组的jars之间存在这种不一致。

EN

回答 2

Stack Overflow用户

发布于 2012-04-25 15:01:39

有点晚了,但问题解决了吗?这是我的档案。为我工作:

要求:

代码语言:javascript
复制
 - play -> play 1.2.4
 - provided -> joda-time 2.0

储存库:

代码语言:javascript
复制
 -    provided:
    type:       local
    descriptor: "${play.path}/[module]/conf/dependencies.yml"
    artifact:   "${play.path}/jar/[module]-[revision].jar"
    contains:
      - provided -> \*
票数 0
EN

Stack Overflow用户

发布于 2012-11-20 16:51:58

您的问题可以使用以下命令解决:

代码语言:javascript
复制
play dependecies --clearcache

清除缓存清空常春藤缓存。如果您不清除缓存,play将不会检查您配置的存储库中的更新版本。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9935370

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档