异常(no providers installed)
2019-04-25 本文已影响3人
Java面试官
问题描述
最近遇见了一个异常,将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包便可以了,并且可以顺利热更了,至于热更原理,下篇文章将会讲到,欢迎关注。