Playframework Play Framework 1.2.4:根据“Play dependencies”命令修改自定义JAR
我试图在本地文件夹中指定自定义依赖项,我的dependencies.yml文件如下所示:Playframework Play Framework 1.2.4:根据“Play dependencies”命令修改自定义JAR,playframework,dependency-management,Playframework,Dependency Management,我试图在本地文件夹中指定自定义依赖项,我的dependencies.yml文件如下所示: 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: - j
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与我的播放模块匹配的JAR不会被复制。运行playdeps-verbose显示它们是在my.groupmodule-1中找到的;0.0.1在[default]的jars中,但是安装已解析的依赖项部分添加了一个与其他路径不同的奇怪路径。来自其他组ID的jar列为lib/module-2-1.2.0.jar,而来自my模块的jar列为modules/lib->/lib。因此,尽管看起来依赖项解析已成功执行,但这些特定JAR不会被复制
如果我将dependencies.yml更改为此格式:
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 -> *
如果我在contains部分的声明中包含模块名,那么jar将被成功复制。这导致了我的第二个问题:
2:当我运行playdeps时,我的jar要么在复制时被修改,要么从某个较旧的缓存版本中删除。在运行程序时,我的行为变得不一致,好像在使用旧代码。我对lib和jars文件夹进行了ls-al比较,复制的jar上的文件大小比原始jar上的小得多
知道这里发生了什么吗?我已经能够通过手动复制JAR来解决这个问题,但是我不知道为什么来自某些组的JAR之间存在这种不一致性。有点晚了,但是问题已经解决了吗?这是我的deps文件。为我工作: 要求: -播放->播放1.2.4 -提供->joda time 2.0 存储库: -提供: 类型:本地 描述符:${play.path}/[module]/conf/dependencies.yml 工件:${play.path}/jar/[module]-[revision].jar 包含:
-提供->*有点晚,但问题是否已解决?这是我的deps文件。为我工作: 要求: -播放->播放1.2.4 -提供->joda time 2.0 存储库: -提供: 类型:本地 描述符:${play.path}/[module]/conf/dependencies.yml 工件:${play.path}/jar/[module]-[revision].jar 包含:
-提供->*您的问题可以使用以下命令解决:
play dependecies --clearcache
-clearcache清空常春藤缓存。如果未清除缓存,play将不会检查您配置的存储库中的更新版本。您的问题可能会通过以下命令得到解决:
play dependecies --clearcache
-clearcache清空常春藤缓存。如果不清除缓存,play将不会检查您配置的存储库中的更新版本