2012-03-30 3 views
2

Я пытаюсь задать пользовательские зависимости в локальной папке, и мой файл dependencies.yml выглядит следующим образом:Framework Play 1.2.4: Пользовательские банки модификация «зависимости игры» команда

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: Банки с идентификатором группы, соответствующим моему модулю воспроизведения, не копируются. Запуск play deps --verbose показывает, что они были найдены (found my.group#module-1;0.0.1 in jars in [default]), но раздел «Установка разрешенных зависимостей» добавляет странный путь, отличный от других. Хотя банки из других идентификаторов групп указаны как lib/module-2-1.2.0.jar, банки из моего модуля показаны как modules/lib -> <path/to/play/proj>/lib. Поэтому, хотя похоже, что разрешение зависимостей было выполнено успешно, эти конкретные банки не копируются.

Если изменить 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 -> * 

где я включаю имя модуля в декларации «содержит» секции, то банки будут копироваться успешно. Что приводит к моей второй проблеме:

2: Когда я запустил play deps, кажется, что мои банки либо изменены, когда они скопированы, либо они сбрасываются с какой-то старой кешированной версии. При запуске моей программы у меня возникало непоследовательное поведение, как если бы использовался старый код. Я сделал ls -al как для библиотек lib, так и для jars для сравнения, а размер файла намного меньше на скопированных баночках, чем на оригиналах.

Любые идеи, что здесь происходит? Мне удалось обойти это, скопировав банки вручную, но я не знаю, почему существует такая несогласованность между банками из определенных групп.

ответ

0

Немного поздно, но проблема решена? Это мой файл deps. Работа для меня:

требуют:
- игры -> играть 1.2.4
- при условии -> Joda времени 2,0

хранилищами:
- при условии:
Тип: локальная
дескриптор: "$ {play.path}/[модуль] /conf/dependencies.yml"
артефакт: "$ {play.path}/банка/[модуль] - [модификация] .jar"
содержит:
- при условии, -> *

0

Ваша проблема может быть решена с помощью этой команды:

play dependecies --clearcache 

--clearcache опустошает кэш Ivy. Если вы не очистите кеш, игра не будет проверять новые версии в настроенном репозитории.

Смежные вопросы