--- old/modules/jdk.packager/src/main/java/jdk/packager/internal/legacy/builders/mac/MacAppImageBuilder.java 2017-12-01 17:34:31.000000000 -0800 +++ new/modules/jdk.packager/src/main/java/jdk/packager/internal/legacy/builders/mac/MacAppImageBuilder.java 2017-12-01 17:34:31.000000000 -0800 @@ -445,7 +445,8 @@ File srcdir = classPath.getBaseDirectory(); for (String fname : classPath.getIncludedFiles()) { // use new File since fname can have file separators - Files.copy(new File(srcdir, fname).toPath(), new File(javaDirectory.toFile(), fname).toPath()); + writeEntry(new FileInputStream(new File(srcdir, fname)), + new File(javaDirectory.toFile(), fname).toPath()); } } } --- old/modules/jdk.packager/src/main/java/jdk/packager/internal/legacy/builders/windows/WindowsAppImageBuilder.java 2017-12-01 17:34:32.000000000 -0800 +++ new/modules/jdk.packager/src/main/java/jdk/packager/internal/legacy/builders/windows/WindowsAppImageBuilder.java 2017-12-01 17:34:32.000000000 -0800 @@ -36,6 +36,7 @@ import java.io.File; import java.io.FileOutputStream; +import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; @@ -434,7 +435,8 @@ } File srcdir = appResources.getBaseDirectory(); for (String fname : appResources.getIncludedFiles()) { - Files.copy(new File(srcdir, fname).toPath(), new File(appDir.toFile(), fname).toPath()); + writeEntry(new FileInputStream(new File(srcdir, fname)), + new File(appDir.toFile(), fname).toPath()); } } }