Я пытаюсь указать пользовательские зависимости в локальной папке, и мой файл 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: Банки с идентификатором группы, совпадающим с идентификатором моего модуля Play, не копируются. Выполнение 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
. Поэтому, хотя похоже, что разрешение зависимостей было успешно выполнено, эти конкретные файлы 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 -> *
, где я включаю имя модуля в объявление раздела «содержащиеся», тогда jar-файлы успешно копируются. Что приводит к моей второй проблеме:
2: Когда я запускаю play deps
, кажется, что мои банки либо модифицируются при копировании, либо их извлекают из какой-то более старой кэшированной версии. Я получал противоречивое поведение при запуске моей программы, как будто использовался старый код. Я сделал ls -al
для папок lib и jars для сравнения, а размер файла на скопированных банках намного меньше, чем на оригиналах.
Есть идеи, что здесь происходит? Мне удалось обойти это путем ручного копирования jar-файлов, но я понятия не имею, почему существует такое несоответствие между jar-файлами из определенных групп.