Я создал простой пример сервиса Java9 с одним интерфейсом сервиса и двумя реализациями сервиса и одним драйвером, который использует ServiceLoader. Мне удалось успешно выполнить пример с модулем-путем, но когда я попытался выполнить то же самое с помощью java -cp (classpath), я не получил никакого вывода, даже никакой ошибки.
Структура каталогов
out
├── driver
│ ├── com
│ │ └── company
│ │ └── driver
│ │ └── driver.class
│ └── module-info.class
├── firstServiceImpl
│ ├── com
│ │ └── company
│ │ └── first
│ │ └── serviceImpl
│ │ └── FunImpl1.class
│ └── module-info.class
├── secondServiceImpl
│ ├── com
│ │ └── company
│ │ └── second
│ │ └── serviceImpl
│ │ └── FunImpl2.class
│ └── module-info.class
└── serviceInterface
├── com
│ └── company
│ └── service
│ └── Fun.class
└── module-info.class
команда для компиляции
javac -d out --module-source-path src src/driver/driver.java src/firstServiceImpl/FunImpl1.java src/secondServiceImpl/FunImpl2.java src/serviceInterface/Fun.java
Приведенная выше команда компилирует код с module-source-path .
команда для запуска
java -cp out/driver:out/serviceInterface/:out/firstServiceImpl/ com.sunil.driver.driver
Приведенная выше команда запускает код с classpath .
После компиляции с модулем -source-path и запустить код с classpath . Я не получаю никакой ошибки или вывода. Пожалуйста, помогите мне понять, почему при запуске с использованием classpath .
нет выходных данных.