{"id":15793959,"url":"https://github.com/cedric05/java-no-body-compiler","last_synced_at":"2025-08-14T08:42:03.516Z","repository":{"id":110365044,"uuid":"291101331","full_name":"cedric05/java-no-body-compiler","owner":"cedric05","description":"java Compiler generating no body.","archived":false,"fork":false,"pushed_at":"2024-04-17T10:30:03.000Z","size":3941,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-10-05T23:21:46.992Z","etag":null,"topics":["compier","ecj","eclipse","java","javac"],"latest_commit_sha":null,"homepage":"https://github.com/cedric05","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cedric05.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":"2020-08-28T17:03:00.000Z","updated_at":"2024-04-17T18:09:44.000Z","dependencies_parsed_at":null,"dependency_job_id":"cb51be54-7d72-43c2-a4b5-928a711a7d9b","html_url":"https://github.com/cedric05/java-no-body-compiler","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cedric05%2Fjava-no-body-compiler","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cedric05%2Fjava-no-body-compiler/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cedric05%2Fjava-no-body-compiler/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cedric05%2Fjava-no-body-compiler/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cedric05","download_url":"https://codeload.github.com/cedric05/java-no-body-compiler/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246525230,"owners_count":20791697,"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":["compier","ecj","eclipse","java","javac"],"created_at":"2024-10-04T23:21:50.651Z","updated_at":"2025-03-31T19:25:55.659Z","avatar_url":"https://github.com/cedric05.png","language":"Java","readme":"## update\nLatest update includes eclipse 4.20 release ecj\n\u003e - base [url](https://www.eclipse.org/downloads/download.php?file=/eclipse/downloads/drops4/R-4.31-202402290520/ecjsrc-4.31.jar)\n\u003e - mirror [url](https://mirror.kakao.com/eclipse/eclipse/downloads/drops4/R-4.31-202402290520/ecjsrc-4.31.jar)\n\u003e - download [url](https://www.eclipse.org/downloads/download.php?file=/eclipse/downloads/drops4/R-4.31-202402290520/ecjsrc-4.31.jar)\n\n\nJava compiler compiles java source files to `.class` files without any body. \n\n# Goal \nGenerate empty body .class with entire outline (package, method, attributes, exceptions). \n\n## Usage\nJava compilation does not provide full native code (like graalvm does). For the compilation process it will read only structure but not the body. So for compiliation user won't need for original jar, unless you are bundling dependencies. one can use this project to generate fake jars using which you will save lot of network bandwidth and faster compilation.\n\ndownload [javac-no-body.jar](https://github.com/cedric05/java-no-body-compiler/releases/download/v4.20/java-no-body-compiler-refs.tags.v4.20.jar)\n\n```bash\njava -jar javac-no-body.jar file.java\n```\n\n## example \ncompile jdk source and generated [rt+javax+sun...jar](https://github.com/cedric05/java-no-body-compiler/releases/download/4.17-snapshot/rt-stub.jar.zip) size: 4.81MB. Original rt.jar size: 60+ MB \n\n\n## Source\nSource of this compiler is copied with only one line change to facilitate this project [link](https://github.com/eclipse/eclipse.jdt.core).\n\njdt-core source is scrambled across multiple folders for above github repo. For easy access use [this link](#update)\n\n```diff\n---- a/org/eclipse/jdt/internal/compiler/ast/CompilationUnitDeclaration.java\n++++ b/org/eclipse/jdt/internal/compiler/ast/CompilationUnitDeclaration.java\n\u003c       public boolean ignoreMethodBodies = false;\n---\n\u003e       public boolean ignoreMethodBodies = true;\n\n```\n\n\nbeware and bewarned,This project will not be helpful in real world senario.\n\nIts for Pure research and educational purpose. \n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcedric05%2Fjava-no-body-compiler","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcedric05%2Fjava-no-body-compiler","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcedric05%2Fjava-no-body-compiler/lists"}