Now, create a client application named com.packt.client, which lists all implementation of NotificationService by calling the getInstances() method. A client application only requires the com.packt.service.api module as dependency in module-info.java. But we have to copy notification-api.jar and sms-service.jar into the lib folder to resolve compile time dependency of the service API and service provider module. Our ClientApplication.java and module-info.java will look as follows:
ClientApplication.javapackage com.packt.client;import java.util.List;import com.packt.service.api.NotificationService;public class ClientApplication { public static void main(String[] args) { List<NotificationService> notificationServices ...