testpluginsclassloader.java
来自「模块化您的应用系统」· Java 代码 · 共 35 行
JAVA
35 行
package com.opensymphony.tonic.loaders.classloading;
import java.io.File;
import java.io.IOException;
import java.net.URL;
import java.net.URLClassLoader;
import java.util.Enumeration;
public class TestPluginsClassLoader extends AbstractTestClassLoader
{
public void testLoaderWithDirectory() throws IOException, ClassNotFoundException, IllegalAccessException, InstantiationException
{
File pluginsDirectory = getPluginsDirectory();
// first make a classloader of the entire directory.
ClassLoader loader = PluginsClassLoader.getInstance(pluginsDirectory.toURL());
// check we got the right one back
assertEquals(URLClassLoader.class, loader.getClass());
// we should get one descriptor back for each JAR in the directory (2)
Enumeration descriptors = loader.getResources("paddington-test-plugin.jar");
assertTrue(descriptors.hasMoreElements());
URL descriptor = (URL) descriptors.nextElement();
assertTrue(descriptor.toExternalForm().endsWith("plugins/paddington-test-plugin.jar"));
assertFalse(descriptors.hasMoreElements());
descriptors = loader.getResources("pooh-test-plugin.jar");
assertTrue(descriptors.hasMoreElements());
descriptor = (URL) descriptors.nextElement();
assertTrue(descriptor.toExternalForm().endsWith("plugins/pooh-test-plugin.jar"));
assertFalse(descriptors.hasMoreElements());
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?