{"id":26611260,"url":"https://github.com/osmerion/jvm-launcher","last_synced_at":"2026-05-02T13:35:48.082Z","repository":{"id":281241635,"uuid":"457950699","full_name":"Osmerion/jvm-launcher","owner":"Osmerion","description":"Tools to build a customized launcher executables for seamless experiences with JVM-based desktop applications.","archived":false,"fork":false,"pushed_at":"2026-04-20T11:59:26.000Z","size":541,"stargazers_count":4,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-04-20T13:50:19.635Z","etag":null,"topics":["desktop-application","java","jvm","launcher","packaging"],"latest_commit_sha":null,"homepage":"","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Osmerion.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-02-10T21:18:42.000Z","updated_at":"2026-04-20T10:54:31.000Z","dependencies_parsed_at":"2025-03-24T02:35:52.027Z","dependency_job_id":"d1c49b0d-6dd6-49cb-b61e-9064b7a13466","html_url":"https://github.com/Osmerion/jvm-launcher","commit_stats":null,"previous_names":["osmerion/jvm-launcher"],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/Osmerion/jvm-launcher","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Osmerion%2Fjvm-launcher","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Osmerion%2Fjvm-launcher/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Osmerion%2Fjvm-launcher/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Osmerion%2Fjvm-launcher/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Osmerion","download_url":"https://codeload.github.com/Osmerion/jvm-launcher/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Osmerion%2Fjvm-launcher/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32536580,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-02T12:25:33.646Z","status":"ssl_error","status_checked_at":"2026-05-02T12:24:51.733Z","response_time":132,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["desktop-application","java","jvm","launcher","packaging"],"created_at":"2025-03-24T02:35:47.521Z","updated_at":"2026-05-02T13:35:48.073Z","avatar_url":"https://github.com/Osmerion.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"# jvm-launcher\n\n[![License](https://img.shields.io/badge/license-Apache%202.0-yellowgreen.svg?style=for-the-badge\u0026label=License)](https://github.com/Osmerion/jvm-launcher/blob/master/LICENSE)\n\nTools to build a customized launcher executables for seamless experiences with\nJVM-based desktop applications.\n\n\n## Why?\n\nAlthough Window icons and titles can be changed easily using common GUI\nlibraries, many Java desktop application use the JVM's native launchers\n(`java.exe` or `javaw.exe`) to start the application. Neither of them are\ncustomizable which leads to a poor user experience when interacting with the\napplication through the task manager and other system tools.\n\n\n## How?\n\nThis project implements a custom Java launcher using the JNI invocation API to\nlaunch a JVM. The launcher is small and can easily be compiled with custom\nresources to provide a seamless experience for end-users.\n\nThe launcher executable looks up a configuration file (`config.toml`) in its\nparent directory to determine all necessary information to start the JVM. A\nconfiguration file looks as follows:\n\n```toml\nlibjvm_path = \"./path/to/jvm.dll\"\nmain_class = \"com/example/Main\"\njvm_args = [\n    \"-Djava.class.path=\u003cpath:./path/to/application.jar\u003e;\u003cpath:./path/to/library.jar\u003e\"\n]\n```\n\n\n## Usage\n\n[Learn how to use the Gradle plugin](/integrations/gradle/README.md) to\nintegrate building a custom launcher into an application's build process.\n\n\n## Building from source\n\n### Setup\n\nThis project uses [Gradle's toolchain support](https://docs.gradle.org/current/userguide/toolchains.html)\nto detect and select the JDKs required to run the build. Please refer to the\nbuild scripts to find out which toolchains are requested.\n\nAn installed JDK 17 (or later) is required to use Gradle.\n\n### Building\n\nOnce the setup is complete, invoke the respective Gradle tasks using the\nfollowing command on Unix/macOS:\n\n    ./gradlew \u003ctasks\u003e\n\nor the following command on Windows:\n\n    gradlew \u003ctasks\u003e\n\nImportant Gradle tasks to remember are:\n- `clean`                   - clean build results\n- `build`                   - assemble and test the Java library\n- `publishToMavenLocal`     - build and install all public artifacts to the\n                              local maven repository\n\nAdditionally `tasks` may be used to print a list of all available tasks.\n\n\n## License\n\n```\nCopyright 2022-2025 Leon Linhart\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n    https://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fosmerion%2Fjvm-launcher","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fosmerion%2Fjvm-launcher","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fosmerion%2Fjvm-launcher/lists"}