java中jar文件的热交换

2023-11-25

我有两个 jar 文件。 其中一个.jar 包含启动进程的 main 方法,其他两个.jar 仅包含类文件。

在 One.jar 中,我在其清单类路径中引用了 Two.jar。

One.jar 包含使用 Class.forName() 动态加载类的机制

我想一生中只部署一次 One.jar。不会对其进行任何更改。

更改仅发生在 Two.jar 中

我想用更新的two.jar 热交换two.jar。我也看过其他关于热交换的帖子,比如 OSGi、ANT 的热交换,但没有任何帮助我。

经过一番研究后发现 JRebel 确实做得更好,但我真的不知道如何将它与这些 jar 集成?我在这个问题上坚持了将近两天。只需要几个步骤的信息即可完成此操作。请有人帮助我...这对我来说真的非常重要...谢谢


嘿大家,我终于找到了解决方案。我真的不知道我会想出这么简单的解决方案。我采纳了@Thorbjørn Ravn Andersen 的想法。我所做的就是首先获取 jar 文件的时间戳,然后使用 URLClassLoader 加载 jar。如果 jar 文件的时间戳发生变化(即,当我用更新的 jar 替换 jar 时),那么我将使用 close() 丢弃旧的 URLClassLoader 对象,并再次使用 URLClassLoader 加载新的 jar。我每次唯一需要检查的是jar的时间戳是否改变。希望这个答案也对其他人有帮助。感谢大家的支持。

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

java中jar文件的热交换 的相关文章

随机推荐

  • PHP 根据一个字段的值将数组分成几组

    我有一个数组 其中包含按字母顺序排列的名称和其他详细信息的数组 每个数组都包含与名称关联的第一个字母 Array 0 gt Array 0 gt a 1 gt Alanis Morissette 1 gt Array 0 gt a 1 gt
  • 错误:找不到符号导入 com.gorav.news.databinding.ActivityDetailBindingImpl;

    我尝试构建应用程序 但不断收到 Users gouravkarwasara Desktop News2 app build generated source kapt debug com gourav news DataBinderMapp
  • 简化类道路系统的碰撞网格?

    如图所示 Unity 中有一个基于图块的道路或人行道系统 如图所示 我会看到刚体在其接缝处移动时会出现小凹凸 即使对于相同的垂直位置和比例 并且在每个图块使用盒式碰撞器时也是如此 有没有好的方法 例如将碰撞网格合并为一个超级简化且全平面的网
  • 如何从 delphi2007 win32 刻录 CD/DVD

    有没有好的库可以让我从 Delphi 2007 win32 刻录 CD DVD 谢谢 我知道有一对 Bayden 的 Delphi CD 刻录库 舞蹈哺乳动物免费的 Delphi CD 刻录库 Zyl Burner for Delphi 需
  • Slick 中的 Scala 投影仅针对一列

    我正在关注自动增量字段的精美文档示例我在创建一个时遇到问题映射投影那 好吧 只有一栏 case class UserRole id Option Int role String object UserRoles extends Table
  • CSS 动画或过渡可以用于 flex-direction 属性吗?

    如果有序列表使用flex direction column在小屏幕上和flex direction row在较大的屏幕上 CSS3 动画或过渡是否可以实现动画效果flex direction媒体查询之间的属性 初始页面设置 html box
  • 共享内存中的条件变量 - 此代码符合 POSIX 标准吗?

    POSIX 标准是否允许named包含互斥锁和条件变量的共享内存块 我们一直在尝试使用互斥锁和条件变量来同步同一计算机上两个进程对命名共享内存的访问 LynuxWorks LynxOS SE系统 符合 POSIX 一个共享内存块被称为 sy
  • C++11 为什么'decltype(x)'和'decltype((x))'的类型不同?

    我发现它们是不同的 并且语言标准规定了每个语句应该检索什么样的类型 变量和表达式之间的差异 但我真的很想知道为什么这两种类型应该不同 include
  • Bash if [ -d $1] 对于空 $1 返回 true

    所以我有以下小脚本并一直想知道 bin bash if d 1 then echo foo else echo bar fi 为什么调用时会打印 foo没有参数 测试 d 对于空字符串返回 true 是怎么回事 From info core
  • 响应发送到客户端后在 Django 中执行代码

    在我的 Django 应用程序中 我想跟踪响应是否已成功发送到客户端 我很清楚 像 HTTP 这样的无连接协议中没有 无懈可击 的方式来确保客户端已收到 并显示 响应 因此这不会是关键任务功能 但我仍然想在最晚可能的时间 响应不是 HTML
  • Pycharm 社区版:“无法显示框架变量”

    每当 Pycharm 在一个使用 Flask 的项目的断点处停止时 我就会在调试窗格 替换变量 中收到此错误 我创建了一个新项目来测试这一点 本项目中断点处显示的变量 但是 由于运行配置中存在不存在的文件而导致异常断点上没有显示它们 有人对
  • 向 Apache PHP 网络服务器发送 iPhone HTTP 请求

    我是一名具有游戏和 3D 图形背景的程序员 目前我想温习我的网络和 Web 开发技能 我有一个想要完成的任务来做到这一点 我的想法是 我希望能够发送 HTTP 请求或类似于我的网络服务器的东西 该服务器运行基于 LAMP 的设置 我想知道如
  • 为什么 require mongo 给我 LoadError: no such file to load -- openssl

    我正在使用 Ubuntu Server 10 Ruby 1 9 2 当我尝试要求 mongo 时 它给了我这个错误 irb main 001 0 gt require mongo LoadError no such file to load
  • 从 python 执行 R 脚本

    我有一个 R 脚本 可以绘制一些图 我希望能够从 python 执行这个脚本 我首先尝试 import subprocess subprocess call plottingfile R shell True 这给了我以下错误 bin sh
  • 任何编程语言中的无理数表示?

    有谁知道无理数表示类型 对象 类 无论什么any编程语言 欢迎所有建议 简而言之 如果我有两个无理对象 都代表 5 的平方根 并且我将这些对象相乘 我想要返回整数 5 而不是浮点数 4 点的 9 具体来说 我需要表示能够收集术语 而不仅仅是
  • 如何记住哪个扩展 ${var%} ${var#} 从哪一端起作用? [关闭]

    Closed 这个问题是基于意见的 目前不接受答案 我很难记住哪一个参数扩展 var subst or var subst 从绳子的前面取下一个 从后面取下一个 例子 var a b c echo dirname var filename
  • 在不规则网格上绘制和着色数据

    我的数据格式为 x y z 其中 x 和 y 不在常规网格上 我希望显示这些数据的 2D 颜色图 并将强度 例如灰度 映射到 z 变量 一个明显的解决方案是在规则网格上进行插值 见下文 d lt data frame x runif 1e3
  • 概括 NumPy 数组中的切片操作

    这个问题是基于this较旧的问题 给定一个数组 In 122 arr np array 1 3 7 4 9 8 arr Out 122 array 1 3 7 4 9 8 并给出其指数 In 127 np indices arr shape
  • CollapsingToolbarLayout 滚动时不起作用(折叠)

    我正在尝试创建一个CollapsingToolbarLayout在它下面是一个列表视图 当列表视图滚动时 工具栏应该折叠 但是当滚动时工具栏不折叠 它不起作用 使用了这个教程 http android developers blogspot
  • java中jar文件的热交换

    我有两个 jar 文件 其中一个 jar 包含启动进程的 main 方法 其他两个 jar 仅包含类文件 在 One jar 中 我在其清单类路径中引用了 Two jar One jar 包含使用 Class forName 动态加载类的机