JAVA应用运行时加载jar包
来源:互联网 发布:日志数据库 编辑:程序博客网 时间:2024/06/03 19:42
在c/s结构的应用中,很多时候我们都需要在启动时指定很多jar文件的路径,jar包少点还好,多了就很麻烦,还要维护他。
为方便起见,程序启动时,由main函数动态去加载指定路径下的jar文件到jvm,这样启动命令就干净了很多。
加载jar包的代码:
private static class JarLoader {private URLClassLoader urlClassLoader;public JarLoader(URLClassLoader urlClassLoader) {this.urlClassLoader = urlClassLoader;}public void loadJar(URL url) throws Exception {Method addURL = URLClassLoader.class.getDeclaredMethod("addURL", URL.class);addURL.setAccessible(true);addURL.invoke(urlClassLoader, url);}}private static void loadjar(JarLoader jarLoader, String path) throws MalformedURLException, Exception{File libdir = new File(path);if (libdir != null && libdir.isDirectory()) {File[] listFiles = libdir.listFiles(new FileFilter() {@Overridepublic boolean accept(File file) {// TODO Auto-generated method stubreturn file.exists() && file.isFile() && file.getName().endsWith(".jar");}});for (File file : listFiles) {jarLoader.loadJar(file.toURI().toURL());}}else{System.out.println("[Console Message] Directory ["+path+"] does not exsit, please check it");System.exit(0);}}public static void main(String[] args) {JarLoader jarLoader = new JarLoader((URLClassLoader)ClassLoader.getSystemClassLoader()); loadjar(jarLoader, System.getProperty("user.dir")+"/lib");}
这样,我们在启动的时候就java -jar app.jar 就好了,其他Jar包由main函数搞定。
- JAVA应用运行时加载jar包
- Java运行时动态加载类之ClassLoader加载class及其依赖jar包
- Java 加载Jar包
- JAVA运行JAR包
- java运行jar包
- java项目bat文件再运行时动态加载jar包
- 命令行编译运行Java程序时,加载指定目录中的Jar包
- 命令行编译运行Java程序时,加载指定目录中的Jar包
- java包应用文件编译和运行以及jar生成
- RCP程序运行时加载第三方JAR包
- RCP程序运行时加载第三方JAR包
- java动态加载jar包
- java动态加载jar包
- Java 热加载jar包
- java动态加载jar包
- JAVA动态加载JAR包
- Java 动态加载jar包
- Linux 运行Java jar包
- java数据源的几种配置
- 用java编写的一个迪杰斯特拉算法(单源最短路径算法,Dijkstra算法)。
- 《python tutorial》--python 学习第一天
- 智力游戏(2)
- extjs之面向对象编程
- JAVA应用运行时加载jar包
- 理解LINQ
- Treap tree
- 安装 Git 版本控制工具
- 魔术引号与递归转义
- Python面试题集合
- GCD的一些小应用
- 關於 fastjson 中的 SimplePropertyPreFilter
- JAVA线程池ThreadPoolExecutor