Программа скомпилирована с JDK8.Я хочу запустить код с JDK11 (без перекомпиляции кода с JDK11).
Проблема состоит в том, что программа использует классы из JDK8 tools.jar (классы, которые теперь находятся в модуле jdk.compiler в jdk11,tools.jar добавлен в путь к классам).В JDK11 есть не отдельная банка для инструментов, а вместо этого часть JDK11.Таким образом, есть столкновения классов (класс находится в JDK11, а также в tools.jar, который находится в classpath).Классы из JDK11 имеют приоритет перед классами из tools.jar.Есть ли возможность сообщить JVM, что она должна использовать классы из tools.jar вместо классов из JDK11.
Обновления Как я уже сказал, я не могу перекомпилировать код с JDK11.Я знаю о модульной системе Java, представленной в Java9.Я спрашиваю, есть ли возможность сказать JVM игнорировать классы из модуля JDK11 jdk.compiler и вместо этого использовать классы, которые он нашел на пути к классам.