gpt4 book ai didi

java - 在运行时将包含 java 源的文件夹添加到类路径

转载 作者:行者123 更新时间:2023-11-30 07:37:21 27 4
gpt4 key购买 nike

是否可以添加一个包含 java 源代码的文件夹作为类路径元素。我已经尝试了一些东西,似乎类加载器没有获取 java 源文件?我的尝试之一如下所示....

File uncompressedSrc = new File("uncompressed" + File.separator + "src" + File.separator);
URL uncompressedSrcURL = null;
try {
uncompressedSrcURL = new URL("file://"
+ uncompressedSrc.getAbsolutePath());
} catch (MalformedURLException e) {
e.printStackTrace();
}
URL elements[] = { uncompressedSrcURL };
new URLClassLoader(elements, ClassLoader.getSystemClassLoader());

最佳答案

我找到了解决问题的方法...我使用以下肮脏的“hack”将文件夹添加到类路径...

public static void addUrl(URL u) {
URLClassLoader sysloader = (URLClassLoader) ClassLoader
.getSystemClassLoader();
Class<URLClassLoader> sysclass = URLClassLoader.class;

try {
Method method = sysclass.getDeclaredMethod("addURL", parameters);
method.setAccessible(true);
method.invoke(sysloader, new Object[] { u });
} catch (Throwable t) {
t.printStackTrace();
try {
throw new IOException(
"Error, could not add URL to system classloader");
} catch (IOException e) {
logger.log(Level.SEVERE, e.getMessage());
}
}
}

关于java - 在运行时将包含 java 源的文件夹添加到类路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2756567/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com