{"id":17084600,"url":"https://github.com/fleshgrinder/setup-java","last_synced_at":"2026-02-26T12:03:06.309Z","repository":{"id":65157686,"uuid":"547114247","full_name":"Fleshgrinder/setup-java","owner":"Fleshgrinder","description":"Automatic Java Setup","archived":false,"fork":false,"pushed_at":"2022-10-07T06:51:28.000Z","size":14,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-08T01:44:22.561Z","etag":null,"topics":["actions","java","jvm","setup"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"unlicense","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Fleshgrinder.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-10-07T06:45:27.000Z","updated_at":"2023-01-11T22:01:38.000Z","dependencies_parsed_at":"2023-01-13T15:43:11.584Z","dependency_job_id":null,"html_url":"https://github.com/Fleshgrinder/setup-java","commit_stats":{"total_commits":1,"total_committers":1,"mean_commits":1.0,"dds":0.0,"last_synced_commit":"da5229ba146b252e0b14db4f3724f7f1f846bf66"},"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Fleshgrinder%2Fsetup-java","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Fleshgrinder%2Fsetup-java/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Fleshgrinder%2Fsetup-java/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Fleshgrinder%2Fsetup-java/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Fleshgrinder","download_url":"https://codeload.github.com/Fleshgrinder/setup-java/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252983757,"owners_count":21835758,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["actions","java","jvm","setup"],"created_at":"2024-10-14T13:08:02.585Z","updated_at":"2026-02-26T12:03:06.277Z","avatar_url":"https://github.com/Fleshgrinder.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003ch1\u003e\n    \u003cimg src=\".idea/icon.svg\" height=\"64\" alt=\"Java Duke Logo\"\u003e\n    \u003cbr\u003e\n    Setup Java\n  \u003c/h1\u003e\n  \u003cp\u003e\u003cb\u003eAutomatic Java Setup\u003c/b\u003e\u003c/p\u003e\n\u003c/div\u003e\n\n[![GitHub Workflow](https://img.shields.io/github/workflow/status/fleshgrinder/setup-java/Test/main)](https://github.com/fleshgrinder/setup-java/actions)\n[![Code Coverage](https://img.shields.io/codecov/c/github/fleshgrinder/setup-java)][CodeCov]\n\nThis is [actions/setup-java] with sensible defaults that can be changed globally, `.java-version` file support\n(resolving [#113]), and automatic architecture mapping (resolving [#375]). I created this action, because I am not a\nfan of copying and pasting things from one project to another, especially not when it comes to workflow automation.\n\n## Usage\n\nThe example assumes that you have a `.java-version` file and are fine with the defaults:\n\n```yaml\njobs:\n  example:\n    runs-on: ubuntu-latest # All OS are supported!\n    steps:\n    - uses: actions/checkout@main        # replace @main with desired version\n    - uses: fleshgrinder/setup-java@main # replace @main with desired version\n    - run: java -version                 # 🎉\n```\n\nThe version that was resolved is **always** exported as `JAVA_VERSION` to the environment. Subsequent steps can use it\nto autoconfigure themselves (e.g. Gradle toolchain to use `JAVA_VERSION` if present, with a fallback to the checked in\n`.java-version` file).\n\nThis action provides the ability to alter the defaults that have been chosen. This is especially useful for all users\nof self-hosted runners. Simply include any of the following environment variables in your self-hosted runner to set the\ndefault values for all your workflows:\n\n| Variable                        | Description                                                                                                 |\n|---------------------------------|-------------------------------------------------------------------------------------------------------------|\n| `JAVA_DEFAULT_VERSION`          | Version to use if nothing else is present                                                                   |\n| `JAVA_DEFAULT_VERSION_FILENAME` | Change the `.java-version` default                                                                          |\n| `JAVA_DEFAULT_DISTRIBUTION`     | Change the `temurin` default                                                                                |\n| `JAVA_DEFAULT_ARCHITECTURE`     | Disable the `$RUNNER_ARCH` mapping, can be used to add support for architectures that are not yet supported |\n| `JAVA_DEFAULT_PACKAGE_TYPE`     | Change the `jdk` default                                                                                    |\n| `JAVA_DEFAULT_CHECK_LATEST`     | Change the `false` default                                                                                  |\n\n## Project Info\n\n- Contributions are highly appreciated, see [CONTRIBUTING.md] for details.\n- We use [semantic versioning] and [keep a changelog], available versions and changes are listed on our [releases] page.\n- The [Duke logo](.idea/icon.svg) – the Java mascot – is taken from [Wikimedia Commons](https://commons.wikimedia.org/wiki/File:Duke_(Java_mascot)_waving.svg)\n  where it is available under a BSDu license. I optimized the logo with [svgo](https://github.com/svg/svgo), that is all, it is not my work, and it is not\n  made available under the project’s license.\n\n\u003c!-- @formatter:off --\u003e\n[#113]: https://github.com/actions/setup-java/issues/113\n[#375]: https://github.com/actions/setup-java/issues/375\n[CONTRIBUTING.md]: https://github.com/fleshgrinder/.github/blob/main/CONTRIBUTING.md\n[CodeCov]: https://codecov.io/gh/fleshgrinder/setup-java\n[actions/setup-java]: https://github.com/actions/setup-java\n[keep a changelog]: https://keepachangelog.com/\n[releases]: https://github.com/fleshgrinder/setup-java/releases\n[semantic versioning]: http://semver.org/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffleshgrinder%2Fsetup-java","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffleshgrinder%2Fsetup-java","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffleshgrinder%2Fsetup-java/lists"}