⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 classpath.java

📁 Sequoia ERP是一个真正的企业级开源ERP解决方案。它提供的模块包括:电子商务应用(e-commerce), POS系统(point of sales),知识管理,存货与仓库管理
💻 JAVA
字号:
// ========================================================================// Copyright (c) 2002 Mort Bay Consulting (Australia) Pty. Ltd.// $Id: Classpath.java 5462 2005-08-05 18:35:48Z jonesde $// ========================================================================//package org.mortbay.start;package org.ofbiz.base.start;import java.io.File;import java.io.IOException;import java.net.MalformedURLException;import java.net.URL;import java.net.URLClassLoader;import java.util.ArrayList;import java.util.List;import java.util.StringTokenizer;/** * Class to handle CLASSPATH construction * @author Jan Hlavat */public class Classpath {    private List _elements = new ArrayList();    public Classpath() {}    public Classpath(String initial) {        addClasspath(initial);    }    public boolean addComponent(String component) {        if ((component != null) && (component.length() > 0)) {            try {                File f = new File(component);                if (f.exists()) {                    File key = f.getCanonicalFile();                    if (!_elements.contains(key)) {                        _elements.add(key);                        return true;                    }                }            } catch (IOException e) {}        }        return false;    }    public boolean addComponent(File component) {        if (component != null) {            try {                if (component.exists()) {                    File key = component.getCanonicalFile();                    if (!_elements.contains(key)) {                        _elements.add(key);                        return true;                    }                }            } catch (IOException e) {}        }        return false;    }    public boolean addClasspath(String s) {        boolean added = false;        if (s != null) {            StringTokenizer t = new StringTokenizer(s, File.pathSeparator);            while (t.hasMoreTokens()) {                added |= addComponent(t.nextToken());            }        }        return added;    }    public String toString() {        StringBuffer cp = new StringBuffer(1024);        int cnt = _elements.size();        if (cnt >= 1) {            cp.append(((File) (_elements.get(0))).getPath());        }        for (int i = 1; i < cnt; i++) {            cp.append(File.pathSeparatorChar);            cp.append(((File) (_elements.get(i))).getPath());        }        return cp.toString();    }    public URL[] getUrls() {        int cnt = _elements.size();        URL[] urls = new URL[cnt];        for (int i = 0; i < cnt; i++) {            try {                urls[i] = ((File) (_elements.get(i))).toURL();            } catch (MalformedURLException e) {}        }        return urls;    }    public ClassLoader getClassLoader() {        URL[] urls = getUrls();        ClassLoader parent = Thread.currentThread().getContextClassLoader();        if (parent == null) {            parent = Classpath.class.getClassLoader();        }        if (parent == null) {            parent = ClassLoader.getSystemClassLoader();        }        return new URLClassLoader(urls, parent);    }    public List getElements() {        return _elements;    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -