最近在部署一个项目,由于服务器资源紧张多个应用共用一台服务器,由于不同应用对jdk要求的版本不一样,所以提供设置setclasspath.bat指定tomcat使用的jdk版本。参考网络的配置直接设置JAVA_HONE和JRE_HOME,运行以后出现com/sun/tools/internal/xjc/api/XJG类找不到。
经过排查以上错误出现的原因是使用了jre导致。删除JRE_HOME配置即可。参考catalina.bat的说明:
如果JRE_HOEM和JAVA_HOME都有设置的情况下,默认优先使用JRE_HOME。