尝试使用Spring Boot War / Swagger执行Dataflow管道时出错:
Caused by: java.lang.IllegalArgumentException: Unable to convert url (jar:file:/home/java/app.war!/WEB-INF/classes!/) to file.
at org.apache.beam.runners.core.construction.PipelineResources.detectClassPathResourcesToStage(PipelineResources.java:55)
at org.apache.beam.runners.dataflow.DataflowRunner.fromOptions(DataflowRunner.java:266)
... 78 more
Caused by: java.lang.IllegalArgumentException: URI is not hierarchical
at java.io.File.<init>(File.java:418)
at org.apache.beam.runners.core.construction.PipelineResources.detectClassPathResourcesToStage(PipelineResources.java:52)
... 79 more
尝试为数据流设置Runner并将依赖项引入项目时,似乎失败了:
options.setRunner(DataflowRunner.class);
我已经尝试包括用于数据流的自包含jar的插件:
<build>
<!--Self contained jar compilation for dataflow : https://beam.apache.org/documentation/runners/dataflow/-->
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.1.1</version>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<classpathPrefix>lib/</classpathPrefix>
<mainClass>MAIN-CLASS-HERE</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
</plugins>
</build>
我发现了一个类似的线程,但是没有明确的问题解决方法:IllegalArgumentException: Unable to convert url (jar:file:/app.jar!/BOOT-INF/classes!/) to file
答案 0 :(得分:0)
不要绕过org.apache.beam.runners.core.construction.PipelineResources.detectClassPathResourcesToStage用options.setFilesToStage设置资源。