java - 动态修改类路径

原文 标签 java classpath classloader urlclassloader

我想在运行时将/home/nameuser/.myProject/conf下的配置文件添加到类路径。

我尝试使用URLClassLoader,但没有成功。

URL[] url={new URL("file://foo")};
URLClassLoader loader = new URLClassLoader(url);


要么

ClassLoader currentThreadClassLoader
 = Thread.currentThread().getContextClassLoader();

// Add the conf dir to the classpath
// Chain the current thread classloader
URLClassLoader urlClassLoader
 = new URLClassLoader(new URL[]{new File("mtFile").toURL()},
                      currentThreadClassLoader);

// Replace the thread classloader - assumes
// you have permissions to do so
Thread.currentThread().setContextClassLoader(urlClassLoader);

最佳答案

我成功了

谢谢邱达华(Darcy Qiu)很好URL[] url={new URL("file:///home/nameuser/.myProject/conf/")};我必须做,而不是URL[] url={new URL("file:///home/nameuser/.myProject/conf/myfile")};

相关文章:

java - Java while循环括号功能

java - Spring 环境概况和JPA

java - 自动跨多个节点分片Java Map

java - 包不存在错误?

java - 如何从InputStream获取Java文件的绝对路径?

java - 在Quartz作业中动态加载Java类文件的名称

java - Activity 动画的 fragment 不适用于overridePendingTransition();

java - java.lang.NoClassDefFoundError:org/apache/hadoop/conf/Configuration

java - 使用Class.forName加载类时发生ClassNotFoundException

ruby-on-rails - 当加载根 namespace 中的另一个同名类时,Rails类的加载会跳过命名空间类