【Maven】【gradle】java.io.IOException: No locks available常见解决方案

Java.io.IOException: No locks available
        at sun.nio.ch.FileChannelImpl.lock0(Native Method)
        at sun.nio.ch.FileChannelImpl.lock(FileChannelImpl.java:784)
        at java.nio.channels.FileChannel.lock(FileChannel.java:865)


能够下载依赖的jar包,但是每下载一次都会跑出No locks available异常,而且每个jar下载都需要等待很久。


最后通过 df   -T   -h 命令才发现当前目录挂载的是NFS。

传送门:NFS介绍

http://book.51cto.com/art/200808/85167.htm
http://fedora.linuxsir.org/main/?q=node/41


这一般是因为 /home/* , /global,以及常用的/disk是独立的,为了方便在任何一台机器上都可以访问/home和/global,所以这两个目录做的非本地的(也就是NFS)


Maven 和 gradle的默认本地仓库是home下的 如/home/userName/.gradle(或者.m2)


网上搜到的解决方案

1、启用NFS filesystem lock服务

2、换个本地的filesystem

实际上

1. 公司的开发机,一般用户是没有roo权限的,所以方法1不能实现

2. 关于2, 没有将具体操作:

     Maven : settings.xml文件中的: <localRepository>/disk1/username/.m2/</localRepository>  设置到一个非NFS的Disk(本地)上。基本的maven 安装和配置网上有很多。

       Gradle: 

                   (1), 本地安装的Gradle 则修改   gradle目录下的 bin/gradle(Windows是bin/gradle.bat文件) 

                      GRADLE_OPTS=-Dgradle.user.home=/disk1/userName/gradle#添加这一行~

                    (2)   项目自带的gradlew(如某些采用gradle构建的开源项目 LinkedIn Gobblin)则修改gradlew文件也是添加那一行

 


参考:

http://blog.csdn.net/liu251/article/details/7431696

http://www.vicviz.com/gradle-in-action-bi-ji/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值