Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jvm JNLP安装一个扩展JAR_Jvm_Java_Jnlp_Java Web Start - Fatal编程技术网

Jvm JNLP安装一个扩展JAR

Jvm JNLP安装一个扩展JAR,jvm,java,jnlp,java-web-start,Jvm,Java,Jnlp,Java Web Start,在使用webstart部署Java客户机时,我们需要打包一个扩展jar文件。扩展jar需要安装在jre/lib/ext下,并在WebStart启动时使其可供java客户机使用 我设法将文件复制到正确的位置,但我面临的问题是,在lib/ext下安装了扩展jar之后,我需要重新启动客户机JVM以获取新的jar 如何避免重新启动JVM 如何避免重新启动JVM 你不能忘记。类加载器通常不会重新加载类或其他资源,我认为改变引导程序和其他与JRE相关的类加载器(或者很快改变它们以产生影响)是不可能的或不切实

在使用webstart部署Java客户机时,我们需要打包一个扩展jar文件。扩展jar需要安装在
jre/lib/ext
下,并在WebStart启动时使其可供java客户机使用

我设法将文件复制到正确的位置,但我面临的问题是,在
lib/ext
下安装了扩展jar之后,我需要重新启动客户机JVM以获取新的jar

如何避免重新启动JVM

如何避免重新启动JVM

你不能忘记。类加载器通常不会重新加载类或其他资源,我认为改变引导程序和其他与JRE相关的类加载器(或者很快改变它们以产生影响)是不可能的或不切实际的

另一种策略可能是:

  • 检查资源是否存在
  • 如果未找到,则假定它们是使用
    installer desc
    扩展安装的,并且:
    • 使用JNLP URL调用以启动新实例
    • 在当前实例上调用
      System.exit(0)
      以结束它
弹出一个
JOptionPane
来确认重新启动可能是值得的。例如

要立即对OGG进行编码,请重新启动应用程序。
重新启动

好的,取消


作为旁白。一般建议不要将档案放入JRE的任何目录中

我面临的问题是,在lib/ext下安装了扩展jar之后,我需要重新启动客户机JVM以获取新的jar。不知道如何避免。谢谢安德鲁,是的,第二个问题是有效的。