gpt4 book ai didi

java - 如何为类加载器加载任意选择的 JAR?

转载 作者:行者123 更新时间:2023-12-01 04:48:43 24 4
gpt4 key购买 nike

我希望能够根据我正在使用的服务器版本加载代表客户端 API 的不同版本的 JAR 文件。不幸的是,每个版本的服务器都需要不同的客户端 API。有没有办法创建一个类加载器,根据指定的类路径查找类文件?换句话说,我想告诉 ClassLoader 搜索类文件的位置顺序。

最佳答案

如果我理解正确,您需要一个自定义类加载器,它根据某些配置在不同位置查找。例如,在一种情况下,它可能会在/foo 中查找,另一种情况下,它可能会在/bar 中查找,而在另一种情况下,它可能会先在/foo 中查找,然后在/bar 中查找。如果这是正确的,那么实际上并没有那么难。查看 URLClassLoader (http://docs.oracle.com/javase/7/docs/api/java/net/URLClassLoader.html)。您可以向ClassLoader指定哪些URL(可以是本地目录或文件)以及“在指定的父类加载器中首次搜索后,将按照为类和资源指定的顺序搜索URL。”

关键是父类加载器无法知道您不想搜索的路径,因此您必须手动进行一些类路径配置,而不是让 JVM 来处理它。

关于java - 如何为类加载器加载任意选择的 JAR?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15394933/

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