java代码重启weblogic_java 代码启动weblogic 或者Tomca

/*

* Created on 2005-1-8

*/

package boot;

import java.io.File;

import java.io.FilenameFilter;

import java.io.IOException;

import java.lang.reflect.Method;

import java.net.URL;

import java.net.URLClassLoader;

import java.util.ArrayList;

import java.util.List;

/**

* @author elgs

*/

public class Bootstrap {

private static final String CP_CLASSES = "classes";

private static final String CP_LIB = "lib";

public static void main(String[] args) throws Exception {

List jarList = new ArrayList();

//System.out.println(getServerHome());

getClassPath(jarList, new File(getServerHome(), CP_LIB));

URL[] urlList = toURL(jarList);

URLClassLoader loader = new URLClassLoader(urlList);

Class c = loader.loadClass(args[0]);

Method m = c.getMethod("main", new Class[] { args.getClass() });

String[] appArgs = new String[args.length - 1];

System.arraycopy(args, 1, appArgs, 0, args.length - 1);

m.invoke(null, new Object[] { appArgs });

}

private static URL[] toURL(List list) throws IOException {

List urlList = new ArrayList();

urlList.add(new URL("file:///" + getServerHome() + "/" + CP_CLASSES + "/"));

for (int i = 0; i < list.size(); ++i) {

urlList.add(new URL("file:///" + ((File) list.get(i)).getCanonicalPath()));

}

return (URL[]) urlList.toArray(new URL[0]);

}

private static Filter filter = new Filter();

private static void getClassPath(List list, File f) {

if (f.exists() && f.isDirectory()) {

File[] ss = f.listFiles(filter);

for (int i = 0; i < ss.length; ++i) {

if (ss[i].isFile()) {

list.add(ss[i]);

} else if (ss[i].isDirectory()) {

getClassPath(list, ss[i]);

}

}

}

}

private static class Filter implements FilenameFilter {

/*

* (non-Javadoc)

*

* @see java.io.FilenameFilter#accept(java.io.File, java.lang.String)

*/

public boolean accept(File dir, String name) {

File f = new File(dir, name);

boolean isDir = f.isDirectory();

boolean isFile = f.isFile();

boolean isJar = name.toLowerCase().endsWith(".jar");

boolean isZip = name.toLowerCase().endsWith(".zip");

return (isFile && (isJar || isZip)) || isDir;

}

}

private static String getServerHome() {

String serverHome = System.getProperty("server.home");

if (serverHome == null) {

serverHome = new File(System.getProperty("user.dir")).getParent();

System.setProperty("server.home", serverHome);

}

return serverHome;

}

}

2013年2月23日 15:04

c4b32610104e4aa0a99ec1cf83cb32ab.gif

30

0

0

4

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值