Download Java
Sources
{#if settingsState.isLoadingCatalog}
{:else if settingsState.catalogError}
{settingsState.catalogError}
{:else}
{#each settingsState.availableMajorVersions as version}
{@const isLts = settingsState.javaCatalog?.lts_versions.includes(version)}
{@const isSelected = settingsState.selectedMajorVersion === version}
{@const releaseInfo = settingsState.javaCatalog?.releases.find(r => r.major_version === version && r.image_type === settingsState.selectedImageType)}
{@const isAvailable = releaseInfo?.is_available ?? false}
{@const installStatus = releaseInfo ? settingsState.getInstallStatus(releaseInfo) : 'download'}
{/each}
{/if}
Details
{#if settingsState.selectedRelease}
Version
{settingsState.selectedRelease.version}
Release Name
{settingsState.selectedRelease.release_name}
Release Date
{settingsState.formatDate(settingsState.selectedRelease.release_date)}
Size
{settingsState.formatBytes(settingsState.selectedRelease.file_size)}
Type
{settingsState.selectedRelease.image_type}
{#if settingsState.selectedRelease.is_lts}
LTS
{/if}
Architecture
{settingsState.selectedRelease.architecture}
{#if !settingsState.selectedRelease.is_available}
Not available for your platform
{/if}
{:else}
Select a Java version to view details
{/if}
{#if settingsState.isDownloadingJava && settingsState.downloadProgress}
Downloading Java
{settingsState.downloadProgress.status}
{settingsState.downloadProgress.file_name}
{Math.round(settingsState.downloadProgress.percentage)}%
{settingsState.formatBytes(settingsState.downloadProgress.speed_bytes_per_sec)}/s ·
ETA: {settingsState.formatTime(settingsState.downloadProgress.eta_seconds)}
{settingsState.formatBytes(settingsState.downloadProgress.downloaded_bytes)} /
{settingsState.formatBytes(settingsState.downloadProgress.total_bytes)}
{/if}
{#if settingsState.pendingDownloads.length > 0 && !settingsState.isDownloadingJava}
{settingsState.pendingDownloads.length} pending download(s) can be resumed
{/if}
{#if settingsState.isDownloadingJava}
{:else}
{@const isInstalled = settingsState.selectedRelease ? settingsState.getInstallStatus(settingsState.selectedRelease) === 'installed' : false}
{/if}