play framework 1.x - 如何更改常春藤缓存位置

时间:2012-03-18 07:40:01

标签: playframework ivy

我正在服务器中部署一个播放应用程序,我没有写入 权限〜/ 发布游戏时,我收到以下错误

    [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)

我尝试了几件事来改变缓存目录,比如 使用以下内容在app.conf中创建ivysettings.xml

<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

-

修改

ps:发现了这个相关的问题:How to override the location of Ivy's Cache?

1 个答案:

答案 0 :(得分:12)

谷歌搜索,经过几个小时尝试不同的替代方案后,我终于找到了答案

只是

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

我希望它可能对其他人有用