一:app开发定制分析是什么
1.先摆问题:
Flink平台Submit New Job中上传Maven package打包后的jar包,填上全类名,app开发定制提交后出现Server Response Message:Internal server error错误
2.查看Log报错,app开发定制发现是第一张截图中的第二步中填写的全类名在jar包中找不到
3.于是可以初步判定不是虚拟机上Flink的配置错误,而是上传的jar包出了问题。通过笔者查找了半天,终于发现了问题所在,在WordCount下的target文件夹中的classes文件夹,Maven只编译了maven项目中的src/main/java中的App,没有编译scala中的主类
二:分析为什么
在中Lifecycle中
clean会将项目中的target文件夹删除,
compile会编译项目开始自带的src/main/java,而不会编译自己创建的src/main/scala
package会根据你编译后的target文件夹而生成jar包(需要注意:如果没有compile而直接点击package,则Maven会自动为你编译并生成jar包)
这样就可以理解你package打包成jar包的时候,target类中的classes并不会存在scala中的主类了。
三:解决办法
1.先使用Maven中Lifecycle中的clean,清除target包
2.再点击Build中的Rebuild Project
原因:Rebuild Project之后,Maven会自动编译你的整个项目,当然也包括了单独使用Maven中compile没有编译到的src/main/scala文件夹下的主类,并输出到target当中,如下图:
可以发现scala中的主类也被编译到了target中 。
3.再使用Maven中Lifecycle中的package打包即可。
4.再将新生成的jar包添加到flink平台,填入全类名(com.zhj.StreamWordCount),提交即可
可以自动跳转看到:
查看输出结果:
END:这样就解决了flink上传jar包出现Server Response Message:Internal server error的问题!
最主要的还是要看报错日志,找到原因,并进行针对性解决。