play framework 1.x - как изменить расположение кэша плюща - PullRequest
8 голосов
/ 18 марта 2012

Я развертываю приложение воспроизведения на сервере, в котором у меня нет прав на запись в ~ /, при выдаче файлов воспроизведения я получаю следующую ошибку

    [playdemo-playdemo.rhcloud.com repo]\> ~/playdemo/data/play-1.2.4/play deps
~        _            _ 
~  _ __ | | __ _ _  _| |
~ | '_ \| |/ _' | || |_|
~ |  __/|_|\____|\__ (_)
~ |_|            |__/   
~
~ play! 1.2.4, http://www.playframework.org
~
~ Resolving dependencies using     /var/lib/libra/eadfb84dc0ac4b05baa584693f557e5e/playdemo/runtime/repo/conf/dependencies.yml,
~
Exception in thread "main" java.io.FileNotFoundException:     /var/lib/libra/eadfb84dc0ac4b05baa584693f557e5e/.ivy2/cache/resolved-play-application-repo-1.0.xml (No such file or directory)
    at java.io.FileOutputStream.open(Native Method)
    at java.io.FileOutputStream.<init>(FileOutputStream.java:209)
    at java.io.FileOutputStream.<init>(FileOutputStream.java:160)
    at org.apache.ivy.plugins.parser.xml.XmlModuleDescriptorWriter.write(XmlModuleDescriptorWriter.java:69)
    at org.apache.ivy.plugins.parser.xml.XmlModuleDescriptorWriter.write(XmlModuleDescriptorWriter.java:61)
    at org.apache.ivy.core.module.descriptor.DefaultModuleDescriptor.toIvyFile(DefaultModuleDescriptor.java:549)
    at org.apache.ivy.core.resolve.ResolveEngine.resolve(ResolveEngine.java:248)
    at org.apache.ivy.core.resolve.ResolveEngine.resolve(ResolveEngine.java:195)
    at play.deps.DependenciesManager.resolve(DependenciesManager.java:327)
    at play.deps.DependenciesManager.main(DependenciesManager.java:39)

Я попытался несколько вещей, чтобы изменить каталог кэша,например, создание файла ivysettings.xml в app.conf со следующим содержимым

<ivysettings> 
    <caches defaultCacheDir="/tmp/ivy"/> 
</ivysettings> 

с передачей -D-cache = / tmp / ivy

с установкой переменной среды JAVA_OPTS

export JAVA_OPTS="$JAVA_OPTS -Divy.default.ivy.user.dir=/tmp/ivy" 

передача его в качестве параметра

play deps -Divy.default.ivy.user.dir=/tmp/ivy 

но, похоже, ничего не работает ...

есть идеи, что я мог сделать ???

saludos

sas

-

edit

ps: нашел этот связанный вопрос: Как переопределить местоположениекеша плюща?

1 Ответ

12 голосов
/ 19 марта 2012

погугливая и после нескольких часов пробуя разные альтернативы, я наконец нашел ответ

просто нужно было

play deps -Divy.home=/tmp/ivy2/

Я надеюсь, что это может быть полезно для кого-то еще

...