我试图在本地文件夹中指定自定义依赖项,我的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:
- 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更改为这种格式:
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之间存在这种不一致。
发布于 2012-04-25 15:01:39
有点晚了,但问题解决了吗?这是我的档案。为我工作:
要求:
- play -> play 1.2.4
- provided -> joda-time 2.0储存库:
- provided:
type: local
descriptor: "${play.path}/[module]/conf/dependencies.yml"
artifact: "${play.path}/jar/[module]-[revision].jar"
contains:
- provided -> \*发布于 2012-11-20 16:51:58
您的问题可以使用以下命令解决:
play dependecies --clearcache清除缓存清空常春藤缓存。如果您不清除缓存,play将不会检查您配置的存储库中的更新版本。
https://stackoverflow.com/questions/9935370
复制相似问题