通过绝对路径在Java中导入类

瓦奥

我一直在尝试在代码运行时通过绝对路径导入 .class,但我不知道该怎么做。

我找到了一种在项目的构建路径中导入类的方法,Class.forName();但我需要找到一种方法来加载不在构建路径中的类。

目标是:

  1. 用户可以上传自己的 .class 文件,然后在本地保存到特定文件夹,路径保存在数据库中
  2. 通过 GUI 用户可以选择这个文件在代码运行时使用
  3. 我的代码应该在代码运行时通过这个给定的绝对路径加载一个类

问题在于第三点,因为我不知道是否可以在代码运行时加载类。

我试过使用,URLClassLoader但出现 ClassNotFound 错误。

编辑:

基本上,我有这个静态函数,它应该通过它的名字返回 Class,但是 urlClassLoader.loadClass() 抛出错误。

文件的名称是 J48.class,因此对于 className 参数,我尝试使用“J48”、“J48.class”,但都不起作用。

另外我已经尝试设置文件夹分类器来构建路径并将参数设置为“weka.classifiers.trees.J48”,这是该类的包的完整路径(包结构是weka.classifiers.trees)。

`public static Class getClassByName(String className) throws MalformedURLException, ClassNotFoundException 
    {
        URLClassLoader urlClassLoader = URLClassLoader.newInstance(new URL[] {
                   new URL("file:///D:\\xampp\\htdocs\\prog-ing\\classifiers\\")
        });

        Class class = urlClassLoader.loadClass(className);

        return class;
    }`
瓦奥

好的,经过思考,我只得到了一个解决方案(仍然不满意),如下所示:

需要由用户上传的每个类都保存到这个项目的工作区中,因此我可以通过Class.forName();指出上传类的这个“文件夹”来获取类,在我的例子中:Class.forName("classifiers.className");

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Java SFTP指定绝对路径

来自分类Dev

Java Nio相对路径的绝对路径

来自分类Dev

相对路径与绝对路径Java

来自分类Dev

获取类路径上文件的绝对路径

来自分类Dev

JSDoc注释未显示在绝对路径导入上

来自分类Dev

Jsoup绝对路径

来自分类Dev

资源文件和Java类的Javascript绝对路径

来自分类Dev

来自绝对路径的类加载

来自分类Dev

通过绝对路径传递变量到命令

来自分类Dev

如何通过绝对路径运行bash脚本?

来自分类Dev

从绝对路径+相对或绝对路径创建新的绝对路径

来自分类Dev

从绝对路径+相对或绝对路径创建新的绝对路径

来自分类Dev

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

来自分类Dev

如何使用绝对路径从Java运行Python文件?

来自分类Dev

Java FXML从绝对路径加载(动态)

来自分类Dev

如何在Java中获取绝对路径

来自分类Dev

命令行上的java相对路径与绝对路径

来自分类Dev

eslint + jsconfig + nextjs模块路径别名(绝对路径导入-@)

来自分类Dev

从webkitdirectory元素获取绝对路径

来自分类Dev

如何获得gulpfile的绝对路径?

来自分类Dev

绝对路径的相对URL

来自分类Dev

字体使用绝对路径

来自分类Dev

res.sendFile绝对路径

来自分类Dev

Spring @RequestMapping绝对路径

来自分类Dev

节点需要绝对路径

来自分类Dev

查找ffmpeg的绝对路径

来自分类Dev

PHP包含绝对路径

来自分类Dev

包中文件的绝对路径

来自分类Dev

从PathBuf获取绝对路径