Look at the service locator in java. One of the main classes is java.util.ServiceLoader. It basically searches for a file named as an interface and loads the class named in this file. This is the standard way to load classes dynamically as plug-in.