{"id":20711012,"url":"https://github.com/entur/jvm-module-size-calculator","last_synced_at":"2026-04-13T00:46:37.905Z","repository":{"id":195163417,"uuid":"692139781","full_name":"entur/jvm-module-size-calculator","owner":"entur","description":"Utilities for JVM module size calculation","archived":false,"fork":false,"pushed_at":"2023-09-17T11:04:42.000Z","size":22,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-17T21:09:24.680Z","etag":null,"topics":["docker","java17","jdeps","jlink","jvm","spring-boot"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"eupl-1.2","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/entur.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2023-09-15T16:42:14.000Z","updated_at":"2024-09-23T16:01:48.000Z","dependencies_parsed_at":"2023-09-16T20:29:34.207Z","dependency_job_id":null,"html_url":"https://github.com/entur/jvm-module-size-calculator","commit_stats":null,"previous_names":["entur/jvm-module-size-calculator"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/entur%2Fjvm-module-size-calculator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/entur%2Fjvm-module-size-calculator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/entur%2Fjvm-module-size-calculator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/entur%2Fjvm-module-size-calculator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/entur","download_url":"https://codeload.github.com/entur/jvm-module-size-calculator/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242981921,"owners_count":20216503,"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":["docker","java17","jdeps","jlink","jvm","spring-boot"],"created_at":"2024-11-17T02:13:45.998Z","updated_at":"2026-04-13T00:46:37.873Z","avatar_url":"https://github.com/entur.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# jvm-module-size-calculator\nUtility project for calculating the size of modules within a JVM distribution.\n\nThis calculator will help you determine how much your JVM distribution (i.e. docker image) can be reduced in size for a specific application.\n\n# License\n[European Union Public Licence v1.2](https://eupl.eu/).\n\n# Usage\n\n## Calculator\nBuild the Maven project, \n\n```\ncd calculator\nmvn clean package\n```\n\nthen run \n\n```\njava -jar target/calculator-0.0.1-SNAPSHOT.jar\n```\n\nto see the module size within the currently installed JVM.\n\nRun\n\n```\njava -jar target/calculator-0.0.1-SNAPSHOT.jar \u003ccomma-seperated-modules\u003e\n```\n\ni.e.\n\n```\njava -jar target/calculator-0.0.1-SNAPSHOT.jar java.base,java.compiler,java.desktop\n```\n\nto calculate the size of modules within the current JVM.\n\n## Docker\nList module sizes using the script\n\n```\n./printModuleSizes.sh  \u003cdocker-image\u003e \n```\n\ni.e.\n\n```\n./printModuleSizes.sh bellsoft/liberica-runtime-container:jdk-all-17-musl\n```\n\nor calculate specific module sizes using\n\n```\n./calculateModulesSize.sh \u003cdocker-image\u003e \u003ccomma-seperated-modules\u003e\n```\n\ni.e.\n\n```\n./calculateModulesSize.sh bellsoft/liberica-runtime-container:jdk-all-17-musl \"java.base,java.compiler,java.desktop,java.instrument,java.management,java.naming,java.net.http,java.prefs,java.rmi,java.scripting,java.security.jgss,java.security.sasl,java.sql,java.xml.crypto,jdk.httpserver,jdk.jfr,jdk.unsupported,jdk.xml.dom\"\n```\n\n# Example\nThe project includes a [fully working example](images/liberica) for Liberica docker images with bash scripts:\n\n * builds Spring Boot Maven project\n * extracts the relevant modules using `jdeps`\n * builds a custom base image using `jlink`\n * builds a custom image with the Maven artifact \n\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fentur%2Fjvm-module-size-calculator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fentur%2Fjvm-module-size-calculator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fentur%2Fjvm-module-size-calculator/lists"}