diff --git a/memorycompiler/src/main/java/com/taobao/arthas/compiler/PackageInternalsFinder.java b/memorycompiler/src/main/java/com/taobao/arthas/compiler/PackageInternalsFinder.java index cc5d183e7..80fdf0597 100644 --- a/memorycompiler/src/main/java/com/taobao/arthas/compiler/PackageInternalsFinder.java +++ b/memorycompiler/src/main/java/com/taobao/arthas/compiler/PackageInternalsFinder.java @@ -95,14 +95,16 @@ public class PackageInternalsFinder { List result = new ArrayList(); File[] childFiles = directory.listFiles(); - for (File childFile : childFiles) { - if (childFile.isFile()) { - // We only want the .class files. - if (childFile.getName().endsWith(CLASS_FILE_EXTENSION)) { - String binaryName = packageName + "." + childFile.getName(); - binaryName = binaryName.replaceAll(CLASS_FILE_EXTENSION + "$", ""); - - result.add(new CustomJavaFileObject(binaryName, childFile.toURI())); + if (childFiles != null) { + for (File childFile : childFiles) { + if (childFile.isFile()) { + // We only want the .class files. + if (childFile.getName().endsWith(CLASS_FILE_EXTENSION)) { + String binaryName = packageName + "." + childFile.getName(); + binaryName = binaryName.replaceAll(CLASS_FILE_EXTENSION + "$", ""); + + result.add(new CustomJavaFileObject(binaryName, childFile.toURI())); + } } } }