错误提示 Caused by: java.lang.ClassNotFoundException: com/sun/tools/internal/xjc/api/XJC
在idea中没有问题,但是打成jar包运行,提示出错,错误提示如上。
页面报错:Unable to create schema compiler异常。
查资料知道是调用tools.jar包的问题
当springboot打成jar包,本地环境运行,jre中没有tools.jar包
1、将jdk中的tools.jar放入jre中。
错误提示变为error:No compiler is provided is this environment. Perhaps you are running in a JRE rather than JDK。
这时查看环境变量path,发现有默认的系统java环境。
2、删掉该环境变量。
不能运行java -version。
错误提示变为
Error: Registry key 'Software\JavaSoft\Java Runtime Environment'\CurrentVersion' has value '1.8', but '1.7' is required. Error: could not find java.dll Error: Could not find Java SE Runtime Environment.
经查正发现在C:\Windows\System32 目录下搜索java,出来三个exe:java,javaw,javaws。
3、删掉3个文件。可以运行java -version。
运行springboot 的jar包正确。
过程复杂,在此记录下。
非常感谢如下博客,参考博客:
https://blog.csdn.net/ideality_hunter/article/details/73613161
https://blog.csdn.net/touch_cloud322/article/details/81912574
https://blog.csdn.net/superit401/article/details/70154993
https://bbs.csdn.net/topics/392163047
总结下来,
1、在idea中的运行环境,和在本地运行jar包环境不一样。
2、本地jdk环境可能和你想的不一样,不遇到问题不知道。