Java 9 - 在运行时动态添加 jar

2023-11-26

我遇到了 Java 9 的类加载器问题。

此代码适用于以前的 Java 版本:

 private static void addNewURL(URL u) throws IOException {
    final Class[] newParameters = new Class[]{URL.class};
    URLClassLoader urlClassLoader = (URLClassLoader) ClassLoader.getSystemClassLoader();
    Class newClass = URLClassLoader.class;
    try {
      Method method = newClass.getDeclaredMethod("addNewURL", newParameters );
      method.setAccessible(true);
      method.invoke(urlClassLoader, new Object[]{u});
    } catch (Throwable t) {
      throw new IOException("Error, could not add URL to system classloader");
    }
  }

From 这个线程我了解到这必须被这样的东西取代:

Class.forName(classpath, true, loader);

loader = URLClassLoader.newInstance(
            new URL[]{u},
            MyClass.class.getClassLoader()

MyClass是我想要实现的类Class.forName()方法中.

u = file:/C:/Users/SomeUser/Projects/MyTool/plugins/myNodes/myOwn-nodes-1.6.jar

String classpath = URLClassLoader.getSystemResource("plugins/myNodes/myOwn-nodes-1.6.jar").toString();

由于某种原因 - 我真的不明白为什么 - 我在运行时收到 ClassNotFoundExceptionClass.forName(classpath, true, loader);

有人知道我做错了什么吗?


从文档中Class.forName(String name, boolean initialize, ClassLoader loader) :-

throws ClassNotFoundException- 如果指定的类加载器无法找到该类

另请注意,用于 API 的参数包括name班级的

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java 9 - 在运行时动态添加 jar 的相关文章

  • Spring应用中Eureka健康检查的问题

    我正在开发一个基于 Spring 的应用程序 其中包含多个微服务 我的一个微服务充当尤里卡服务器 到目前为止一切正常 在我所有其他微服务中 用 EnableEurekaClient 我想启用这样的健康检查 应用程序 yml eureka c
  • Java 枚举与创建位掩码和检查权限的混淆

    我想将此 c 权限模块移植到 java 但是当我无法将数值保存在数据库中然后将其转换为枚举表示形式时 我很困惑如何执行此操作 在 C 中 我创建一个如下所示的枚举 public enum ArticlePermission CanRead
  • 如何循环遍历所有组合,例如48 选择 5 [重复]

    这个问题在这里已经有答案了 可能的重复 如何在java中从大小为n的集合中迭代生成k个元素子集 https stackoverflow com questions 4504974 how to iteratively generate k
  • 使用 LinkedList 实现下一个和上一个按钮

    这可能是一个愚蠢的问题 但我很难思考清楚 我编写了一个使用 LinkedList 来移动加载的 MIDI 乐器的方法 我想制作一个下一个和一个上一个按钮 以便每次单击该按钮时都会遍历 LinkedList 如果我硬编码itr next or
  • 动态选择端口号?

    在 Java 中 我需要获取端口号以在同一程序的多个实例之间进行通信 现在 我可以简单地选择一些固定的数字并使用它 但我想知道是否有一种方法可以动态选择端口号 这样我就不必打扰我的用户设置端口号 这是我的一个想法 其工作原理如下 有一个固定
  • 构建/部署 EJB .jar 及其依赖项

    我是 Java EE 新手 我使用 Maven Eclipse 和 jBoss WildFly 我有一个war项目 当我构建项目时 它的所有依赖项都打包在war文件输入WEB INF lib 现在我正在尝试创建一个ejb项目 我有
  • Pig Udf 显示结果

    我是 Pig 的新手 我用 Java 编写了一个 udf 并且包含了一个 System out println 其中的声明 我必须知道在 Pig 中运行时该语句在哪里打印 假设你的UDF 扩展了 EvalFunc 您可以使用从返回的 Log
  • 如何在 Spring 中禁用使用 @Component 注释创建 bean?

    我的项目中有一些用于重构逻辑的通用接口 它看起来大约是这样的 public interface RefactorAwareEntryPoint default boolean doRefactor if EventLogService wa
  • jQuery AJAX 调用 Java 方法

    使用 jQuery AJAX 我们可以调用特定的 JAVA 方法 例如从 Action 类 该 Java 方法返回的数据将用于填充一些 HTML 代码 请告诉我是否可以使用 jQuery 轻松完成此操作 就像在 DWR 中一样 此外 对于
  • 从最终实体获取根证书和中间证书

    作为密码学的菜鸟 我每天都会偶然发现一些简单的事情 今天只是那些日子之一 我想用 bouncy castle 库验证 java 中的 smime 消息 我想我几乎已经弄清楚了 但此时的问题是 PKIXparameters 对象的构建 假设我
  • java.lang.IllegalStateException:提交响应后无法调用 sendRedirect()

    这两天我一直在尝试找出问题所在 我在这里读到我应该在代码中添加一个返回 我做到了 但我仍然得到 java lang IllegalStateException Cannot call sendRedirect after the respo
  • Java ResultSet 如何检查是否有结果

    结果集 http java sun com j2se 1 4 2 docs api java sql ResultSet html没有 hasNext 方法 我想检查 resultSet 是否有任何值 这是正确的方法吗 if resultS
  • Java 和 Python 可以在同一个应用程序中共存吗?

    我需要一个 Java 实例直接从 Python 实例数据存储中获取数据 我不知道这是否可能 数据存储是否透明 唯一 或者每个实例 如果它们确实可以共存 都有其单独的数据存储 总结一下 Java 应用程序如何从 Python 应用程序的数据存
  • 获取文件的总大小(以字节为单位)[重复]

    这个问题在这里已经有答案了 可能的重复 java 高效获取文件大小 https stackoverflow com questions 116574 java get file size efficiently 我有一个名为 filenam
  • 为什么 Java 8 不允许非公共默认方法?

    让我们举个例子 public interface Testerface default public String example return Hello public class Tester implements Testerface
  • 最新的 Hibernate 和 Derby:无法建立 JDBC 连接

    我正在尝试创建一个使用 Hibernate 连接到 Derby 数据库的准系统项目 我正在使用 Hibernate 和 Derby 的最新版本 但我得到的是通用的Unable to make JDBC Connection error 这是
  • Android:无法使用 DbHelper 和 Contract 类将数据插入 SQLite

    public class Main2Activity extends AppCompatActivity private EditText editText1 editText2 editText3 editText4 private Bu
  • 我如何在java中读取二进制数据文件

    因此 我正在为学校做一个项目 我需要读取二进制数据文件并使用它来生成角色的统计数据 例如力量和智慧 它的设置是让前 8 位组成一个统计数据 我想知道执行此操作的实际语法是什么 是不是就像读文本文件一样 这样 File file new Fi
  • 如何将双精度/浮点四舍五入为二进制精度?

    我正在编写对浮点数执行计算的代码的测试 不出所料 结果很少是准确的 我想在计算结果和预期结果之间设置一个容差 我已经证实 在实践中 使用双精度 在对最后两位有效小数进行四舍五入后 结果始终是正确的 但是usually四舍五入最后一位小数后
  • 如何防止在Spring Boot单元测试中执行import.sql

    我的类路径中有一个 import sql 文件 其中包含一些 INSERT 语句 当使用 profile devel 运行我的应用程序时 它的数据被加载到 postgres 数据库中 到目前为止一切正常 当使用测试配置文件执行测试时 imp

随机推荐

  • 框架内元素的选择器(具有相同的原点)

    我有一个具有以下结构的网页 index jsp包含 div test is here div 我需要一个 jQuery 选择器来直接访问div test 到目前为止我只能这样写 frames 0 document body 或这个 fram
  • 将 ARFaceGeometry 保存到 OBJ 文件

    在 iOS ARKit 应用程序中 我一直在尝试保存ARFaceGeometry数据到 OBJ 文件 我按照这里的解释 如何从 AVDepthData 制作 3D 模型 但是 OBJ 未正确创建 这是我所拥有的 func renderer
  • 在休眠中使用 inverse true

    我正在浏览 hibernate 文档并遇到了逆属性的概念 我是 Hibernate 的新手 所以我觉得很难正确理解这个概念 http docs jboss org hibernate orm 3 3 reference en US html
  • 在自定义 ListAdapter 类中显示 AlertDialog

    我很难处理显示AlertDialog自定义内ListView扩展了一个类BaseAdapter AlertDialog Builder alertbox new AlertDialog Builder getParent getApplic
  • 如何获取 Cassandra 中最后插入的行?

    我想获取 Cassandra 表中最后插入的行 如何获得 任何想法 我正在开发一个项目 用 cassandra 替换 mysql 我想摆脱所有 sql 查询并将它们全部写在 cassandra 中 只是为了传达一点理解 与所有 Cassan
  • 如何继承方法但具有不同的返回类型?

    给定以下课程 ClassA public ClassA DoSomethingAndReturnNewObject ClassB ClassA ClassC ClassA 有没有办法得到ClassB and ClassC继承方法但将返回类型
  • 如何在Delphi中使TImage透明?

    在表格上我有两个 TImage 顶部的 TImage 应该是透明的 这样我们就可以看到下面的内容 如何更改 TImage 透明度级别 Example 通常的方法是将所有图形绘制到一个目标画布 可以是 TImage 的位图 但即使有许多重叠的
  • iOS 7中UISearchDisplayController的全屏后台拦截触摸事件

    我有一个UITableview不占据整个屏幕 截屏 在 iOS 6 中一切正常 但是在 iOS 7 中 当用户搜索时 搜索结果表占据了整个视图 截屏 为了解决这个问题 我尝试按照中所述手动设置框架这个答案 现在外观是正确的 截屏 但现在显示
  • 如何将内存中的wav文件转换为mp3?

    我有一个在 Asp Net MVC 5 框架之上使用 C 编写的应用程序 我的目标是调用第三方服务来下载波形文件 然后我想把这个文件转换成mp3 最后 我想将 mp3 文件返回为 byte 以允许用户直接从内存下载它 这是我的代码最终的结果
  • 如何在每次推送提交时运行 GitHub 工作流程

    我有一些测试 我想在我的存储库的每次提交上运行 我的仓库中有以下脚本 name CI on push jobs build runs on ubuntu latest steps uses actions checkout v2 run e
  • 从内容提供者返回内存映射的InputStream?

    在内容提供者消费者的客户端 我可以执行以下操作 以获得用于读取图片的正确输入流 InputStream is getContentResolver openInputStream pictureUri 这是一个很好的 API 并且在服务器端
  • 无法在测试中将应用程序委托强制转换为应用程序委托

    我正在 Swift 中进行单元测试 并且遇到了问题 每次运行测试时 我都会收到错误 Could not cast value of type app AppDelegate to app Tests AppDelegate 我确保 AppD
  • 将 json 数组转换为 java 列表对象 [重复]

    这个问题在这里已经有答案了 我得到了一个json数组从服务器response id 1 name John age 20 id 3 name Tomas age 29 id 12 name Kate age 32 我想用gson将上面的js
  • Ionic:IOS 11 中 wkwebview 底部的空白

    将 IOS 更新到 11 版本后 我遇到了问题wkwebview plugin在我的应用程序中 Ionic 命令发布 iOS 11清单但问题是在清单中的所有步骤之后仍然存在 ios平台版本4 4 0 任何 SIM 卡 iPhone 5s 6
  • 收到响应后使用 Chrome webRequest 进行 URL 转发

    我正在尝试创建一个利用 Chrome 的 Chrome 扩展网络请求模块执行重定向到从最初访问的 URL 获得的 URL 为此 我只想使用 Chrome 的 webRequest 函数 例如 onBeforeSendHeaders onHe
  • 随机失败的测试笑话和超级测试 Node.js

    长话短说 我正在开发 RESTapi 它在 movies 路由的 POST 请求上获取电影标题 从外部 api 获取有关该电影的信息并将该对象保存到数据库中 在 POST comments 上 您将评论添加到不同的集合中 但每个评论都有一个
  • Kepler 中的 L2 缓存

    就引用局部性而言 L2 缓存在具有 Kepler 架构的 GPU 中如何工作 例如 如果一个线程访问全局内存中的某个地址 假设该地址的值不在二级缓存中 那么该值是如何缓存的 是暂时的吗 或者该地址的其他附近值是否也被带到二级缓存 空间 下图
  • 如何在生产环境中设置 ASP.NET 5 环境变量

    在 Visual Studio 2015 中 您在项目属性中设置以下变量 ASPNET ENV 如果将其设置为开发 则可以使用 public void Configure IApplicationBuilder app IHostingEn
  • 将 null 传递给方法是否可接受

    Null 对我来说是一种奇怪的数据类型 似乎使用它是错误的 也许是我作为初学者经常遇到的空指针错误 现在让我将任何 null 实例与某种邪恶联系起来 无论如何我的问题是 在某些情况下可以使用 null 作为参数吗 例如 一个方法可能需要a和
  • Java 9 - 在运行时动态添加 jar

    我遇到了 Java 9 的类加载器问题 此代码适用于以前的 Java 版本 private static void addNewURL URL u throws IOException final Class newParameters n