Как собрать клиент Livy на Windows?
Я хочу написать Java-приложение для Windows, которое использует Java API Livy для связи с сервером Apache Livy, который размещен удаленно. Документы говорят:
Добавьте зависимость клиента Livy к POM вашего приложения:
<dependency>
<groupId>org.apache.livy</groupId>
<artifactId>livy-client-http</artifactId>
<version>0.4.0-SNAPSHOT</version>
</dependency>
Примечание: до первого выпуска Apache от Livy вам придется устанавливать артефакты livy локально, используя
mvn install
К сожалению, похоже, что сборка Livy на Windows не поддерживается. Кто-нибудь успешно построил клиент Livy на Windows?
1 ответ
Все, о чем я заботился, - это заставить livy-client-http создать и установить в мой локальный репозиторий maven .m2. Это то, что я сделал в Windows 7:
git clone
инкубатор-Ливи затем закомментировать этот раздел в его pom.xml
(благодарность Яцхашу):
<requireOS>
<family>unix</family>
</requireOS>
Бежать mvn install -DskipTests
в каталоге верхнего уровня. Если вы сделаете это из обычной командной строки Windows, в конечном итоге произойдет сбой с этой ошибкой:
[ОШИБКА] Не удалось выполнить цель org.apache.maven.plugins:maven-antrun-plugin:1.8: выполнить (по умолчанию) на проекте livy-server: возникла исключительная ситуация Ant BuildException: выполнить не удалось: java.io.IOException: не удалось запустить программа "bash" (в каталоге "C:\github.com\ инкубатор-livy\server"): ошибка CreateProcess =2, система не может найти указанный файл [ОШИБКА] вокруг Ant-части...... @ 4:27 в C: \ github.com \ инкубатор-ливи \ сервер \ цель \antrun\build-main.xml
Но если вы запустите ту же команду в командной строке Git Bash, вы можете обойти эту ошибку. В конце концов, сборка завершится неудачей при тестировании livy-интеграции, но по крайней мере сборка livy-client-http должна была пройти.
Но вы обнаружите, что этот jar будет установлен в вашем хранилище.m2: livy-client-http-0.4.0-инкубационный-SNAPSHOT.jar. Это означает, что вам нужно изменить зависимость вашего собственного клиентского приложения так, чтобы она выглядела так, как указано в документации Livy:
<dependency>
<groupId>org.apache.livy</groupId>
<artifactId>livy-client-http</artifactId>
<version>0.4.0-incubating-SNAPSHOT</version>
</dependency>
Мне также пришлось добавить эту зависимость в мое клиентское приложение, потому что я хотел общаться с сервером Spark 2.1 через Livy:
<dependency>
<!-- See https://spark.apache.org/docs/2.1.0/programming-guide.html#linking-with-spark -->
<groupId>org.apache.spark</groupId>
<artifactId>spark-core_2.11</artifactId>
<version>2.1.0</version>
</dependency>
Тогда мое клиентское приложение будет компилироваться в Windows.