ser*_*erg 2 java executable-jar
我正在看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});
}
}
Run Code Online (Sandbox Code Playgroud)
这对我来说看起来像一个无用的包装.为什么不直接把它YUICompressor
作为主类呢?这样做有什么理由吗?
谢谢.
他们YUICompressor
使用自定义类加载器(new JarClassLoader()
代码片段)加载.有关此背后的基本原理,请参阅YUI Compressor和Java Class Loader.
归档时间: |
|
查看次数: |
300 次 |
最近记录: |