我有一个关于在代码运行时更改构建路径的快速问题。
例如,我有一个类,它从 Internet 下载 .jar 文件,然后到与运行代码相同的目录中。如果可能的话,我如何将 jar 加载到构建路径中以访问 .jar 文件中的类?
一些建议的修改/评论:
jar:
前缀和!/
后缀 - 这些是必需的注释,可能会混淆问题你能验证jar文件是否存在:
System.out.println(new File(new URL("file://test.jar")).exists());
将您的类声明修改为以下内容(获取 File 对象为您生成 URL,以避免出现问题):
URL[] classes = new URL[] { new File("test.jar").toURI().toURL() };
这适用于我的测试示例,使用 commons-codec 作为 jar,并加载 Base64 类