diff options
-rw-r--r-- | src/jvm/clojure/lang/Compiler.java | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/jvm/clojure/lang/Compiler.java b/src/jvm/clojure/lang/Compiler.java index 24cc87df..5d5c7b9e 100644 --- a/src/jvm/clojure/lang/Compiler.java +++ b/src/jvm/clojure/lang/Compiler.java @@ -4450,9 +4450,15 @@ static public void writeClassFile(String internalName, byte[] bytecode) throws E String genPath = (String) COMPILE_PATH.get(); if(genPath == null) throw new Exception("*compile-path* not set"); + String[] dirs = internalName.split("/"); + String p = genPath; + for(int i=0;i<dirs.length-1;i++) + { + p += File.separator + dirs[i]; + (new File(p)).mkdir(); + } String path = genPath + File.separator + internalName + ".class"; File cf = new File(path); - cf.getParentFile().mkdirs(); cf.createNewFile(); OutputStream cfs = new FileOutputStream(cf); try |