Вот командная строка Javac с флагом --patch-module (из журнала сборки AOSP): (для удобства чтения пробелы заменяются новой строкой)
javac
--system=none
--patch-module=java.base=/<folder name 1>/core-all.jar
/<folder name 2>/module-info.java
Единственная ссылка, которую я могу найти в Интернете, это раздел «Содержимое модуля исправления» и «Время компиляции» http://openjdk.java.net/jeps/261, но после прочтения я все еще не уверен, что именно представляет собой приведенная выше командная строка. do.
Я предполагаю:
(1) Заменить соответствующее содержимое в java .base содержимым из core-all.jar (только для этого вызова javac )
(2) Скомпилируйте информацию о модуле. java и сгенерируйте его файл класса как обычно, во время процесса усложнения некоторые ссылочные данные в модуле java .base переопределяются содержимым из core-all .jar.
В основном это обычная командная строка компиляции с некоторыми переопределениями библиотек.
(1) Правильно ли мое понимание?
(2) Почему есть " = "между" --patch-module "и" java .base "вместо пробела между ними?