{"id":13428189,"url":"https://github.com/ingokegel/jclasslib","last_synced_at":"2025-05-14T00:10:23.315Z","repository":{"id":1863597,"uuid":"2788710","full_name":"ingokegel/jclasslib","owner":"ingokegel","description":"jclasslib bytecode editor is a tool that visualizes all aspects of compiled Java class files and the contained bytecode.","archived":false,"fork":false,"pushed_at":"2025-01-13T12:42:40.000Z","size":13469,"stargazers_count":2846,"open_issues_count":9,"forks_count":418,"subscribers_count":104,"default_branch":"master","last_synced_at":"2025-04-03T06:39:47.897Z","etag":null,"topics":["bytecode","gui","java","kotlin"],"latest_commit_sha":null,"homepage":"","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"pedromenezes/GitHub-Inbox","license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ingokegel.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":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2011-11-16T15:29:25.000Z","updated_at":"2025-04-02T23:19:54.000Z","dependencies_parsed_at":"2024-01-14T02:37:07.041Z","dependency_job_id":"d4c9c853-7507-40c3-a848-05c879627e0e","html_url":"https://github.com/ingokegel/jclasslib","commit_stats":{"total_commits":1282,"total_committers":9,"mean_commits":"142.44444444444446","dds":"0.018720748829953227","last_synced_commit":"58b6e72ba2da3e48d7aa1147cff8d4a164730ea3"},"previous_names":[],"tags_count":25,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ingokegel%2Fjclasslib","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ingokegel%2Fjclasslib/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ingokegel%2Fjclasslib/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ingokegel%2Fjclasslib/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ingokegel","download_url":"https://codeload.github.com/ingokegel/jclasslib/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248208679,"owners_count":21065203,"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":["bytecode","gui","java","kotlin"],"created_at":"2024-07-31T01:00:48.749Z","updated_at":"2025-04-10T11:29:55.569Z","avatar_url":"https://github.com/ingokegel.png","language":"Kotlin","readme":"# jclasslib bytecode editor and Kotlin Multiplatform class file library\n\n## Download\n\nInstallers can be downloaded from the [releases section](https://github.com/ingokegel/jclasslib/releases), on macOS you can install it via HomeBrew with\n```sh\nbrew install jclasslib-bytecode-viewer\n```\n\n## Purpose\n\njclasslib bytecode editor is a tool that visualizes all aspects of compiled Java class files and the contained bytecode.\nMany aspects of class files can be edited in the UI.\nIn addition, it contains a Kotlin Multiplatform library that enables developers to read and write Java class files\nand bytecode.\n\n## Maven repository\n\nThe Kotlin Multiplatform library to read and write JVM class files is available on Maven Central under \nthe coordinates: `org.jclasslib:jclasslib-data:\u003cversion\u003e`. \n\nPlatform-specific artifacts are provided under\n`org.jclasslib:jclasslib-data-jvm:\u003cversion\u003e` and `org.jclasslib:jclasslib-data-js:\u003cversion\u003e`.\n\n## jclasslib UI\n\nIn the main window of the jclasslib bytecode viewer, you can open multiple class files at the same time, by\nselecting class or JAR files, browsing a configured classpath or dragging class files on top of the window. \n\n![Main window](web/screenshots/main_light.png)\n\n## Editing\n\nAll constant pool entries can be edited. Referenced constant pool entries can directly be edited from the context\nmenu that is shown by the \"Edit\" button of attributes and constant pool entries.\n\n![Editing](web/screenshots/edit_constant_value.png)\n\nBytecode instructions can be edited from the context menu:\n\n![Editing bytecode instructions](web/screenshots/edit_opcode_popup.png)\n\n## Dark mode\n\nDark mode can be enabled persistently by selecting \"File-\u003eDark mode\" in the main menu. \n\n![Dark mode](web/screenshots/main_dark.png)\n\n## Localizations\n\nSeveral localizations are available and can be chosen in the UI:\n\n![i18n](web/screenshots/language_switcher.png)\n\n## IntelliJ IDEA plugin\n\nThere is a plugin for IntelliJ IDEA that can be installed via the plugin manager. The action in the \"View menu\" \ncan be invoked when a Java, Groovy or Kotlin file is open in the editor.\n\n![IntelliJ IDEA action](web/screenshots/ij_action.png)\n\nThe bytecode will be shown in the \"jclasslib\" tool window on the right hand side. Multiple class files can be open\nat the same time.\n\n![IntelliJ IDEA action](web/screenshots/ij_window.png)\n\n## License\n\njclasslib bytecode editor is released under the [GPL, Version 2.0](https://www.gnu.org/licenses/gpl-2.0.html).\n","funding_links":[],"categories":["Libraries","Kotlin"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fingokegel%2Fjclasslib","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fingokegel%2Fjclasslib","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fingokegel%2Fjclasslib/lists"}