Play Framework: добавьте зависимость, указывающую на каталог локальных jar-файлов - PullRequest
1 голос
/ 22 декабря 2011

Можно ли добавить в файл dependencies.yml зависимость, указывающую на каталог?

Например, используя псевдо-yml для dependencies.yml, я хочу сделать что-то вроде этого:

require:
    - mycooldirectory

repositories:
    - mycooldirectory:
        type: local
        artifact: "${application.path}/jars/mycooldirectory/*.jar"
        contains: 
            - mycooldirectory -> *

В моем воображаемом мире вышесказанное включало бы mycooldirectory в качестве папки classpath и использовало любые jar-файлы, найденные в этом каталоге.это объясняет, что я хочу сделать.Я знаю, что вы можете поместить jar в каталог / lib, но любые jar, не указанные в файле dependencies.yml, будут стерты при выполнении play dependencies --sync.Я также знаю, что вы можете указать отдельные банки, выполнив this .Однако мне было просто интересно, можете ли вы сделать что-то подобное, но сослаться на целый каталог, полный jar-файлов?

Редактировать: У меня есть своего рода обходной путь, который работает путем создания структуры модуля Playдля mycooldirectory (то есть иметь каталог lib в этом каталоге) и поместите все файлы jar в этот каталог lib.А затем в файле dependencies.yml сделайте следующее:

require:
    - mycooldirectory -> mycooldirectory

repositories:
   - provided:    
       type:       local
       artifact:   "${application.path}/jars/[module]"
       contains:  
         - mycooldirectory

Хотя мне было интересно, есть ли более чистый способ сделать это без необходимости создавать модуль pretend и просто ссылаться на новый каталог, чтобы иметь дополнительные jar-файлы.

1 Ответ

2 голосов
/ 23 декабря 2011

Этот обходной путь похож на ваш, но он должен работать без каталога /lib.Я не проверял его, но он был в списке рассылки и получил положительный отзыв.

require:
  - play
  - play -> googleclosure 1.2
  - provided -> mylib 1.0

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

Тема списка рассылки: https://groups.google.com/forum/#!topic/play-framework/tU5OJa5JFhs/discussion

...