# Installation Apache DataFusion Java has not yet published a release. Until the first release, the only way to use the library is to build from source. ## Requirements - **JDK 17 or newer.** Set `JAVA_HOME` to point at it. - **Rust toolchain (stable).** Install via [rustup]. [rustup]: https://rustup.rs/ ## Build from source ```sh git clone https://github.com/apache/datafusion-java.git cd datafusion-java make test ``` `make test` compiles the native Rust crate, then runs the JUnit tests against it. The native library must be built before the JVM tests can run. The first build in a fresh checkout reaches out to `raw.githubusercontent.com` to fetch the DataFusion `.proto` files used to generate the `datafusion-proto` Java classes. Subsequent builds are offline; the `download-maven-plugin` cache under `~/.m2/repository/.cache/` satisfies them. For development workflow details — running individual tests, the TPC-H integration test data, code style, and how to update the underlying DataFusion version — see the [Contributor Guide](../contributor-guide/development.md).