-Djava.ext.dirs和-cp

参考资料

Be careful when setting java.ext.dirs to include your JARs

CLASSPATH vs java.ext.dirs

spec

谨用java.ext.dirs系统属性!

关于java.ext.dirs


本人对jvm并没有研究,从结果来看,两者的区别在于-Djava.ext.dirs会覆盖JAVA本身的ext设置。

一般情况下程序运行并无差异,因为可以看到ext目录下也就几个jar,但是如果使用java.security相关类时,就会发现-Djava.ext.dirs会导致library找不到进而报错。

解决办法暂时想到两种

  1. 将相关lib复制到新的ext director。验证可行。
  2. 配置多个director。可以使用冒号分隔。比如
    -Djava.ext.dirs=directoryA:directoryB

你可能感兴趣的:(Java)