Testcase: import sun.misc.ProxyGenerator; public class InPackage { public static void main(String[] args) throws Throwable { ProxyGenerator.generateProxyClass("a.b.c.d", new Class[] {Inf.class}); } static interface Inf { } } ------------------------ When the test is executed with -Dsun.misc.ProxyGenerator.saveGeneratedFiles=true, it should created directories a/b/c. This is already true with jdk8 and later. The fix was a part of JDK-8004260.