package com.tngtech.archunit.exampletest; import java.net.URL; import java.util.ArrayList; import java.util.List; import com.tngtech.archunit.core.domain.JavaClasses; import com.tngtech.archunit.core.importer.ClassFileImporter; class ClassFileImportHelper { private final ClassFileImporter importer = new ClassFileImporter(); JavaClasses importTreesOf(Class<?>... rootClasses) { try { return uncheckedImportTreesOf(rootClasses); } catch (Exception e) { throw new RuntimeException(e); } } private JavaClasses uncheckedImportTreesOf(Class<?>... rootClasses) throws Exception { List<URL> urls = new ArrayList<>(); for (Class<?> rootClass : rootClasses) { String packageDirName = String.format("/%s", rootClass.getPackage().getName().replace('.', '/')); urls.add(rootClass.getResource(packageDirName)); } return importer.importUrls(urls); } }