异常(no providers installed)

问题描述

最近遇见了一个异常,将java项目打完jar包后在windows运行的时候报异常提示:

java.util.ServiceConfiguretionError: com.sun.tools.attach.spi.AttachProvider: Provider Sun.tools.attach.WindowsAttachProvider could not be instantiated

这个提示倒是无所谓,问题是热更的时候报了以下异常:

com.sun.tools.attach.AttachNotSupportedException: no providers installed
at com.sun.tools.attach.VirtualMachine.attach(VirtualMachine.java.203)

该异常就重要了,直接导致热更失败,就奇了怪了,后来几番查找,导致该异常的原因是找不到WindowsAttachProvider,而原因是因为jvm加载attach.dll失败导致的。

解决方案

打开windows下的cmd,输入指令

java -verbose

取得jre的目录地址,如

D:\java\jre

将路径添加到环境变量path下,然后重启电脑。重启电脑的原因是为了防止path被缓存,修改后没有生效误导结果,我这边便出现过。重启后,重新启动jar包便可以了,并且可以顺利热更了,至于热更原理,下篇文章将会讲到,欢迎关注。


系列博客可以关注公众号:

公众号.jpg

个人网站:http://myblog.lixifan.cn/

你可能感兴趣的:(java干货)