java.lang.IllegalStateException: Cannot find the system Java compiler. Check that your class path includes tools.jar
at com.greenpineyu.fel.compile.FelCompiler16.<init>(Unknown Source)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
at java.lang.Class.newInstance(Class.java:442)
at com.greenpineyu.fel.compile.CompileService.newCompiler(Unknown Source)
at com.greenpineyu.fel.compile.CompileService.<init>(Unknown Source)
at com.greenpineyu.fel.FelEngineImpl.<init>(Unknown Source)
at com.greenpineyu.fel.FelEngineImpl.<init>(Unknown Source)
项目为spring-boot项目。启动正常完成
启动项目可以正常完成,但是程序到需要FEl表达式抛出上述异常
问题很明显:FEL表达式需要JAVA进行编译、程序找不到编译环境
1.在项目启动脚本start.sh 指定java环境变量
export JAVA_HOME=/weblogic/jdk1.8.0_111
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
启动后仍然包上述错误、原因未知,知道的欢迎评论。
2. 既然FEL表达式编译不通过、偶然试了下 javac -version 发现找不到命令
服务器环境没有指定正确的PATH
因为不是管理用户 无法修改/etc/profile
修改当前用户环境变量
vi ~/.bash_profile
export PATH=/weblogic/jdk1.8.0_111/bin:$PATH
重启项目、调用含有FEL表达式的接口 成功。