Если вы действительно хотите, чтобы приложение запускалось с помощью «-jar», а также выбираете классы через переменную среды пользователя $ CLASSPATH, вы можете сделать это, создав для приложения собственный загрузчик классов.(Вы могли бы даже заставить ваше приложение искать аргумент "-cp" после аргумента "-jar".)
Однако я думаю, что это будет плохой идеей.Основная задача исполняемых JAR-файлов - изолировать приложение от капризов среды, в которой пользователь запускает приложение.
Если вы хотите заниматься хакерскими делами с помощью пути к классу приложения, более простой подход - создать скрипт-обертку, который собирает эффективный путь к классу, как вы хотите, а затем запускает приложение с опцией -cp.Вы могли бы даже извлечь "Class-path" из манифестов различных файлов JAR и включить это ...