我已经扫描了maven目录(.m2),并过滤了所有以.jar结尾的文件。
List<File> jarFiles = scanRecursivelyForJarObjects(mavenRepository, fileManager);
我正在尝试将jfile中的.class文件复制到不同的目录。下面是代码:
for(File jarFile : jarFiles) {
Enumeration<JarEntry> enumeration = new JarFile(jarFile).entries();
while (enumeration.hasMoreElements()) {
JarEntry jarEntry = enumeration.nextElement();
if (!jarEntry.isDirectory() && jarEntry.getName().endsWith(".class")) {
copyFile(new FileInputStream(jarEntry), classesDir.getAbsolutePath() + "\" + jarEntry.getName());
}
}
}
但是当我尝试复制时抛出一个错误,因为jarEntry不是一个文件。
我不确定如何将jarEntry转换为文件。
您可以获得条目的输入流。
new JarFile(file).getInputStream(jarEntry)
IOUtils.copyStream(jarEntry.getInputStream(), new FileOutputStream(new File(classesDir.getAbsolutePath(), jarEntry.getName())));