Latest update includes eclipse 4.20 release ecj
Java compiler compiles java source files to .class
files without any body.
Generate empty body .class with entire outline (package, method, attributes, exceptions).
Java 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.
download javac-no-body.jar
java -jar javac-no-body.jar file.java
compile jdk source and generated rt+javax+sun...jar size: 4.81MB. Original rt.jar size: 60+ MB
Source of this compiler is copied with only one line change to facilitate this project link.
jdt-core source is scrambled across multiple folders for above github repo. For easy access use this link
---- a/org/eclipse/jdt/internal/compiler/ast/CompilationUnitDeclaration.java
++++ b/org/eclipse/jdt/internal/compiler/ast/CompilationUnitDeclaration.java
< public boolean ignoreMethodBodies = false;
---
> public boolean ignoreMethodBodies = true;
beware and bewarned,This project will not be helpful in real world senario.
Its for Pure research and educational purpose.