public class ClassLoaderKit extends Object
| 限定符和类型 | 字段和说明 |
|---|---|
protected URL[] |
classPathUrls |
protected String |
configClassPathDirectory
在 deployMode 下 java 命令行需要添加 ${APP_BASE_PATH}/config 到 class path
才可以启动项目,而 System.getProperty("java.class.path") 也可以读到该目录
从而造成 config 目录被添加两次,虽然对使用没有任何影响,但为了追求完美添加此控制
变量,避免该目录被添加两次
|
protected ClassLoader |
currentClassLoader |
protected HotSwapResolver |
hotSwapResolver |
protected ClassLoader |
parentClassLoader |
| 构造器和说明 |
|---|
ClassLoaderKit(ClassLoader parentClassLoader,
HotSwapResolver hotSwapResolver) |
| 限定符和类型 | 方法和说明 |
|---|---|
protected void |
addConfigClassPath(List<URL> urlList)
在部署环境下添加配置文件目录为 class path,约定部署环境下的配置文件放在 APP_BASE/config 目录下
TODO 要测试 config 配置在最前方,是不是被优先加载了,而且要测试 dev_config.txt 在 jar 包内以及 pro_config.txt
在 jar 包外的混合加载方式是否生效
还要测试 jar 包内外同时存在 dev_config.txt 时优先加载的哪个
希望是:优先加载 config 目录下面的,因为便于手工修改
约定:配置文件目录为 config,并且在 jar 包之外,而且 fatjar 形式的配置文件也在 config 目录下
|
protected URL[] |
buildClassPathUrls() |
ClassLoader |
getClassLoader() |
ClassLoader |
replaceClassLoader() |
protected URL[] classPathUrls
protected ClassLoader parentClassLoader
protected HotSwapResolver hotSwapResolver
protected ClassLoader currentClassLoader
protected String configClassPathDirectory
public ClassLoaderKit(ClassLoader parentClassLoader, HotSwapResolver hotSwapResolver)
public ClassLoader getClassLoader()
public ClassLoader replaceClassLoader()
protected URL[] buildClassPathUrls()
protected void addConfigClassPath(List<URL> urlList)
Copyright © 2019. All rights reserved.