Hi,

抱歉我对 JavaCompiler 不是非常了解,我想知道这些动态编译是运行在 UserJar 的 main 方法中吗?以及编译的产物是怎么传递给
Flink 的?

Best,
Weihua


On Tue, Aug 22, 2023 at 5:12 PM 周坤 <18679131...@163.com> wrote:

> 你好!
>
> 有一个关于flink K8S apllication模式运行的问题需要解答下;
>
> 原本又yarn per模式运行的flink需要切换到K8s apllication模式;
>
>
>
>
> 目前公司环境提供了一个通用的基础flink1.13镜像包;
>
> usrJar:自己实现一个flink任务, 该任务存在使用 javax.tools.JavaCompiler
> 动态加载数据库的java类,进行动态编译加载运行;
>
> 目前在切换运行的时候会报 需要动态编译的类的依赖找不到;
>
>
>
>
> 需要动态编译的class文件的依赖在 usrJar中都是存在的,但是启动却包找不到依赖的类;
> 开始以为是 flink类加载机制导致:  classloader.resolve-order: parent-first , 增加该配置也无效;
> 后来发现将需要编译的类依赖放入到lib, 可以执行通过,但是如此违背了动态编译的初衷;
>
> 对此我感到很困惑? 是什么原因导致,期待能有回复。
>
>

回复