Atitit.java jar hell解决方案Djava.ext.dirs in ide envi..

Atitit.java jar hell解决方案-----Djava.ext.dirs in ide envi..

Atitit.java class flect solu jar hell use -Djava.ext.dirs=D:\workspace 空格\AtiPlatf\WEB-INF\lib_slf4j1.5.6

 

现象。。同一份源码,一个使用了slf4j 1.5.6 一个使用了1.7版本的...

 

不个默认的使用了1.7版本的..

 

不个后来的内个PushTestV2 使用的1.5.6版本的slf4j..

要做呱设置了..debug>setting>> vm param

-Djava.ext.dirs="D:\workspace 空格\AtiPlatf\WEB-INF\lib_slf4j1.5.6;D:\workspace 空格\AtiPlatf\WEB-INF\lib"

 

中间.走不个lib slf1.5.6的放的个前面儿兰..走不个哪第一个加载兰...

作者:: 绰号:老哇的爪子 ( 全名::Attilax Akbar Al Rapanui 阿提拉克斯 阿克巴 阿尔 拉帕努伊 ) 汉字名:艾龙,  EMAIL:1466519819@qq.com

转载请注明来源: http://blog.csdn.net/attilax

 

 

public class PushTestV2 {

static final Logger LOG = LoggerFactory.getLogger(NativeHttpClient.class);

public staticExecutorService fixedThreadPool;// = Executors.newFixedThreadPool(50);

public static int sleepMillSec=5;

public static void main(String[] argsthrows APIConnectionException, APIRequestException {

System.out.println(System.getProperty("java.ext.dirs"));

 

众所周知,java中系统属性java.ext.dirs指定的目录由ExtClassLoader加载器加载,如果您的程序没有指定该系统属性(-Djava.ext.dirs=sss/lib)那么该加载器默认加载$JAVA_HOME/lib/ext目录下的所有jar文件。但如果你手动指定系统属性且忘了把$JAVA_HOME/lib/ext路径给加上,那么ExtClassLoader不会去加载$JAVA_HOME/lib/ext下面的jar文件,这意味着你将失去一些功能,例如java自带的加解密算法实现。

 

谨用java.ext.dirs系统属性! - 推酷.htm

原文地址:https://www.cnblogs.com/attilax/p/15198669.html