diff --git a/remoting/src/main/java/hudson/remoting/RemoteClassLoader.java b/remoting/src/main/java/hudson/remoting/RemoteClassLoader.java index cbd43e7187c7bc9cc957fb793bebf35616496cca..0064c25b3f7f9e3cf1a3372aac5d9b87ba0c5f59 100644 --- a/remoting/src/main/java/hudson/remoting/RemoteClassLoader.java +++ b/remoting/src/main/java/hudson/remoting/RemoteClassLoader.java @@ -195,14 +195,17 @@ final class RemoteClassLoader extends URLClassLoader { } private File makeResource(String name, byte[] image) throws IOException { - int idx = name.lastIndexOf('/'); - File f = File.createTempFile("hudson-remoting","."+name.substring(idx+1)); - FileOutputStream fos = new FileOutputStream(f); + File tmpFile = File.createTempFile("hudson-remoting", ""); + tmpFile.delete(); + File resource = new File(tmpFile, name); + resource.getParentFile().mkdirs(); + + FileOutputStream fos = new FileOutputStream(resource); fos.write(image); fos.close(); - f.deleteOnExit(); + resource.deleteOnExit(); - return f; + return resource; } /**