dubbo关于修改了window的用户名之后出现没有权限写文件的问题

dubbo的缓存文件

dubbo的默认缓存文件是在{user.home}/.dubbo/目录下,默认会跟进提供者和消费者生成一些文件,比如

[cddubbo@qtbj-dmz-102 .dubbo]$ pwd
/home/cddubbo/.dubbo
[cddubbo@qtbj-dmz-102 .dubbo]$ ll
total 16
-rw-rw-r-- 1 cddubbo cddubbo 13238 Apr 18 09:27 dubbo-registry-192.168.1.16.cache
-rw-rw-r-- 1 cddubbo cddubbo     0 Nov  1  2017 dubbo-registry-192.168.1.16.cache.lock
[cddubbo@qtbj-dmz-102 .dubbo]$ 

我这是在linux上面的生成路劲,{user.home}这个变量就对应着用户的家目录/home/cddubbo/,一般来说这个目录是没啥问题的。

但是我在window上由于修改了用户名之后,就一直出现dubbo的注册和提供服务问题,那是因为修改用户名不彻底的情况,window下dubbo的默认缓存也是在用户目录下的,查看用户的目录可以使用

public class Root {
    public static void main(String[] args) {
        System.out.println(System.getProperty("user.home"));
    }
}
C:\Users\madman

关于System.getProperty("user.home")可以参考这个文章,如果打印出来的users后面的用户名和你登录的用户名是一样那么就没有问题,如果不一样,那就需要先修改user.home的值,使其的值和你当前登录的用户名要一样,修改方法上面的文章也有,怎找到注册表中获取user.home的那个值,修改之后应该就可以了,怎么进入注册表百度一下~~

如果不想这么麻烦直接修改dubbo的缓存文件目录也是可以的,直接在配置文件添加属性,类似

<dubbo:registryfile=”${user.home}/output/dubbo.cache” />

参考文章

dubbo 配置文件详解
JAVA系统属性之user.home

修改属性的方式可以放在dubbo的配置文件当中,也可以放在系统属性当中。

猜你喜欢

转载自blog.csdn.net/u010316188/article/details/80811951