Here the solution:
import java.util.Collection; import org.burningwave.core.assembler.ComponentContainer; import org.burningwave.core.assembler.ComponentSupplier; import org.burningwave.core.classes.ClassPathHunter; import org.burningwave.core.classes.SearchConfig; import org.burningwave.core.io.FileSystemItem; import org.burningwave.core.io.PathHelper; public class Finder { public Collection<FileSystemItem> find() { ComponentSupplier componentSupplier = ComponentContainer.getInstance(); PathHelper pathHelper = componentSupplier.getPathHelper(); ClassPathHunter classPathHunter = componentSupplier.getClassPathHunter(); SearchConfig searchConfig = SearchConfig.forPaths( //Here you can add all absolute path you want: //both folders, zip and jar will be recursively scanned. //For example you can add: "C:\\Users\\user\\.m2" //With the line below the search will be executed on runtime class paths pathHelper.getMainClassPaths() ).addFileFilter( FileSystemItem.Criteria.forAllFileThat(fileSystemItem -> { JavaClass javaClass = fileSystemItem.toJavaClass(); return javaClass != null && javaClass.getName().equals(Finder.class.getName()); }) ); try(ClassPathHunter.SearchResult searchResult = classPathHunter.findBy(searchConfig)) { return searchResult.getClassPaths(); } } }
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4