Ошибка в мультимодульном проекте, запускающем конвейер потока данных: невозможно преобразовать URL (jar: file: /home/java/app.war! / WEB-INF / classes! /) В файл - PullRequest
0 голосов
/ 02 января 2019

Получение ошибки при попытке выполнить конвейер потока данных с помощью весенней загрузки war / swagger:

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);

Я уже пытался включить плагин для автономных банок для потока данных:

    <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: Невозможно преобразовать URL (jar: file: /app.jar! / BOOT-INF / classes! /) В файл

1 Ответ

0 голосов
/ 14 января 2019

удалось обойти org.apache.beam.runners.core.construction.PipelineResources.detectClassPathResourcesToStage, задав ресурсы с помощью options.setFilesToStage.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...