我可以在这里举个例子
但我将代码复制到另一个目录,并在中使用相同的依赖项 pom.xml
,它引发了一个错误 no routers defined
我调试发现 MyModule
延伸到 StateFunModule
找不到。因此,类加载器没有得到模块,路由器和函数大小为0,验证步骤失败(检查入口、出口、路由器、功能的步骤(不是0)
ps:我只是复制了所有的代码,所以 @AutoService
也包括在内。根据这里的说明,它不需要进一步配置就可以工作。
更新:似乎它的有趣的问题与 @AutoService
我在另一个项目的pom中添加了以下代码(与statefun无关)
<dependency>
<groupId>com.google.auto.service</groupId>
<artifactId>auto-service</artifactId>
<version>1.0-rc6</version>
<optional>true</optional>
</dependency>
它工作了,生成了meta inf。
但如果使用
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>statefun-flink-distribution</artifactId>
<version>2.2-SNAPSHOT</version>
</dependency>
meta-inf没有生成,我在statefun中发现,使用的依赖实际上是
<dependency>
<groupId>com.google.auto.service</groupId>
<artifactId>auto-service</artifactId>
<version>1.0-rc6</version>
<optional>true</optional>
</dependency>
我测试了这个依赖关系,它不能生成meta inf,我很好奇为什么我们直接克隆statefun repo和 mvn clean package
,它可以工作。
暂无答案!
目前还没有任何答案,快来回答吧!