NASA WorldWind Java v2.2.1 can be added to any Java project via direct JAR download, a local Maven repository install, or a Gradle flat-directory dependency. Because WorldWind is not published to Maven Central, the recommended approach for build-tool users is to install the JARs into a local repository and reference them from there. All approaches require Java 11 or higher — WorldWind v2.2.0 dropped support for Java 8 when the SDK was modernized to use JOGL 2.4.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/nasaworldwind/worldwindjava/llms.txt
Use this file to discover all available pages before exploring further.
System Requirements
Before installing, confirm your environment meets the following requirements:| Requirement | Minimum |
|---|---|
| Java | JDK 11 or higher |
| OpenGL | OpenGL 2.0-compatible GPU |
| Graphics Driver | Current driver from GPU manufacturer |
| Operating System | Windows, macOS, or Linux (64-bit) |
| Disk Space | ~50 MB for JARs and native libraries |
Out-of-date graphics drivers are the most common cause of WorldWind display failures. Ensure your driver is current before troubleshooting other issues. See the Quickstart troubleshooting section for platform-specific driver update instructions.
JAR Download
The simplest installation method is downloading the pre-built release archive directly from GitHub.Download the release archive
Go to the latest GitHub release and download the
.zip archive. Extract it to a directory on your machine.Identify the required JARs
The extracted archive contains the following files. Add the ones relevant to your project to your classpath:
Platform native JARs — include the pair matching your target OS:
| JAR | Required | Description |
|---|---|---|
worldwind.jar | ✅ Yes | Core WorldWind SDK — all gov.nasa.worldwind.* classes and resources |
jogl-all.jar | ✅ Yes | JOGL Java OpenGL bindings (v2.4) |
gluegen-rt.jar | ✅ Yes | GlueGen runtime, required by JOGL |
gluegen-rt-natives-<platform>.jar | ✅ Yes | Platform-native OpenGL support libs (see table below) |
jogl-all-natives-<platform>.jar | ✅ Yes | Platform-native JOGL rendering libs (see table below) |
gdal.jar | Optional | GDAL geospatial data format support (raster/vector import) |
| Platform | GlueGen Native JAR | JOGL Native JAR |
|---|---|---|
| Windows 64-bit | gluegen-rt-natives-windows-amd64.jar | jogl-all-natives-windows-amd64.jar |
| macOS (Universal) | gluegen-rt-natives-macosx-universal.jar | jogl-all-natives-macosx-universal.jar |
| Linux 64-bit | gluegen-rt-natives-linux-amd64.jar | jogl-all-natives-linux-amd64.jar |
Maven
WorldWind Java is not published to Maven Central. To use it with Maven, install the JARs into your local Maven repository usingmvn install:install-file, then reference them as local dependencies.
Install JARs to local Maven repository
Run these commands from the directory containing the downloaded JARs:
Install worldwind.jar to local Maven repo
Install jogl-all.jar to local Maven repo
Install gluegen-rt.jar to local Maven repo
Install gdal.jar to local Maven repo (optional)
Gradle
For Gradle projects, use a flat-directory repository pointing at the directory containing the WorldWind JARs.lib/ directory at the project root before running ./gradlew build.
JOGL Native Binaries
JOGL uses runtime extraction to load its platform-native OpenGL libraries. Understanding this mechanism is important for deployment scenarios.How Runtime Extraction Works
By default, when JOGL starts, it locates the native binary JAR files (gluegen-rt-natives-*.jar, jogl-all-natives-*.jar) on the classpath and extracts them into the application user’s temp directory. This works automatically as long as:
- The correct native JAR for the target platform is on the classpath.
- The user’s temp directory (
java.io.tmpdir) is writable.
| Platform | Files |
|---|---|
| Linux x86-64 | gluegen-rt-natives-linux-amd64.jar, jogl-all-natives-linux-amd64.jar |
| macOS Universal | gluegen-rt-natives-macosx-universal.jar, jogl-all-natives-macosx-universal.jar |
| Windows x86-64 | gluegen-rt-natives-windows-amd64.jar, jogl-all-natives-windows-amd64.jar |
Disabling Runtime Extraction
Some deployment environments restrict writing to the temp directory. To load native libraries directly from the library path instead:-
Extract the contents of
gluegen-rt-natives-<platform>.jarandjogl-all-natives-<platform>.jarusing any ZIP tool. -
Place the extracted native binaries (
.dll,.so, or.dylibfiles) either in your application’s working directory or in a directory listed on the system library path. JOGL’s supported library path variables are documented at jogamp.org. - Remove the native JAR files from the classpath. JOGL attempts to use native JAR files before the library path, so they must not be present.
-
Add the JVM argument at launch:
Disable temp JAR cache
When deploying to end-users, ship only the native JAR for the target platform — not all three. Shipping the wrong-platform native JAR causes no harm (JOGL ignores it) but wastes disk space.
Verifying the Installation
Once the JARs are in place, compile and run the following minimal test to confirm WorldWind can initialize an OpenGL context and render the globe:VerifyInstallation.java
- Windows
- macOS
- Linux
Compile and run verification (Windows)
- The console prints:
WorldWind version: NASA WorldWind Java v2.2.1 - A Swing window opens displaying the interactive 3D globe with satellite imagery.