import java.io.File;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class JarComparator {
public static void main(String[] args) {
String[] build1Dirs = {"build/install/service/lib", "build/libs"};
String[] build2Dirs = {"build2/install/service/lib", "build2/libs"};
List<String> missingJars = compareDirectories(build1Dirs, build2Dirs);
if (missingJars.isEmpty()) {
System.out.println("No missing jars found.");
} else {
System.out.println("Missing jars:");
for (String jar : missingJars) {
System.out.println(jar);
}
}
}
private static List<String> compareDirectories(String[] build1Dirs, String[] build2Dirs) {
List<File> jars1 = getJarFiles(build1Dirs);
List<File> jars2 = getJarFiles(build2Dirs);
List<String> missingJars = new ArrayList<>();
for (File jar : jars1) {
if (!containsFile(jars2, jar)) {
missingJars.add(jar.getPath());
}
}
for (File jar : jars2) {
if (!containsFile(jars1, jar)) {
missingJars.add(jar.getPath());
}
}
return missingJars;
}
private static List<File> getJarFiles(String[] dirs) {
List<File> jarFiles = new ArrayList<>();
for (String dir : dirs) {
File directory = new File(dir);
if (directory.exists() && directory.isDirectory()) {
File[] files = directory.listFiles();
if (files != null) {
jarFiles.addAll(Arrays.asList(files));
}
}
}
return jarFiles;
}
private static boolean containsFile(List<File> files, File target) {
for (File file : files) {
if (file.getName().equals(target.getName())) {
return true;
}
}
return false;
}
}
jarbuildspring