我所关心的只是让 livy-client-http 在我的本地 maven .m2 存储库中构建和安装。这是我在 Windows 7 中所做的:
git clone
pom.xml
incubator-livy 然后在其(归功于Yatzhash )中注释掉这一部分:
<requireOS>
<family>unix</family>
</requireOS>
mvn install -DskipTests
在顶级目录中运行。如果您从常规的 Windows 命令提示符执行此操作,最终将失败并出现以下错误:
[错误] 无法在项目 livy-server 上执行目标 org.apache.maven.plugins:maven-antrun-plugin:1.8:run(默认):发生 Ant BuildException:执行失败:java.io.IOException:无法运行program "bash" (in directory "C:\github.com\incubator-livy\server"): CreateProcess error=2, The system cannot find the file specified [ERROR] around Ant part ...... @ 4: 27 在 C:\github.com\incubator-livy\server\target\antrun\build-main.xml
但是,如果您在Git Bash提示符下运行相同的命令,则可以绕过此错误。最终构建将在 livy-integration-test 失败,但至少 livy-client-http 构建应该已经通过。
但是你会发现这个 jar 已经安装在你的 .m2 存储库中:livy-client-http-0.4.0-incubating-SNAPSHOT.jar。这意味着您需要修改自己的客户端应用程序的依赖项,使其看起来像这样,而不是 Livy 文档推荐的依赖项:
<dependency>
<groupId>org.apache.livy</groupId>
<artifactId>livy-client-http</artifactId>
<version>0.4.0-incubating-SNAPSHOT</version>
</dependency>
我还必须将此依赖项添加到我的客户端应用程序中,因为我想通过 Livy 与 Spark 2.1 服务器通信:
<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 中编译。