当前位置:  开发笔记 > 编程语言 > 正文

Java可执行jar.这段代码做了什么?

如何解决《Java可执行jar.这段代码做了什么?》经验,为你挑选了1个好方法。

我正在看Yahoo的YUI压缩器可执行jar,他们有这个类,从Manifest文件链接为"Main-Class":

package com.yahoo.platform.yui.compressor;

import java.lang.reflect.Method;

public class Bootstrap {

    public static void main(String args[]) throws Exception {
        ClassLoader loader = new JarClassLoader();
        Thread.currentThread().setContextClassLoader(loader);
        Class c = loader.loadClass(YUICompressor.class.getName());
        Method main = c.getMethod("main", new Class[]{String[].class});
        main.invoke(null, new Object[]{args});
    }
}

这对我来说看起来像一个无用的包装.为什么不直接把它YUICompressor作为主类呢?这样做有什么理由吗?

谢谢.



1> Pascal Thive..:

他们YUICompressor使用自定义类加载器(new JarClassLoader()代码片段)加载.有关此背后的基本原理,请参阅YUI Compressor和Java Class Loader.

推荐阅读
牛尾巴2010
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有