Это не лучшее решение, но вы могли бы переопределить класс на пути к классу запущенного JAR без "фактического" изменения JAR.
Допустим, вы хотите изменить com.someone.elses.ClassA
.Я бы начал с копирования этого файла класса и декомпиляции его, внесения изменений, а затем перекомпиляции его как моей собственной версии, но с точно таким же путем к классу.
Когда вы запускаете их JAR, вы можете дать свою версию класса вышеприоритет на пути к классам, поэтому он будет загружен вместо их.
java -cp "your.class:their.jar" path.to.their.Main
После этого программа будет работать с вашим измененным классом, предоставляя вам доступ ко всему, что вам нужно, и, возможно, к чтению из переменных среды.