Я работаю над проектом, который в настоящее время состоит из 26 банок (+6, если мы посчитаем баночки только для тестирования). Мы хотим объединить их все в один исполняемый файл по соображениям производительности. Это на машине windows, с graalVM-ce-java11-20.0.0. Мы используем IntelliJ и Gradle. В настоящее время я просто пытаюсь придумать командную строку, которая работает даже немного, прежде чем я попытаюсь воспроизвести ее в Gradle. Gradle еще нет на картинке, поэтому нет соответствующего тега.
Я перепробовал все, что смог, чтобы пройти свой первый пропавший урок, но безрезультатно. Это кажется мне тем, что я c слишком близок и не вижу леса из-за всех трех проклятых деревьев на пути.
В настоящее время у меня есть все банки в graalvm / Папка Это должно сделать это легко, верно? Не так уж много.
Я пытаюсь собрать jar D, используя классы из (среди других мест), jar A. foo.bar.AP - первый класс, который он не может найти, который выбрасывает его или к резервной сборке.
Я пробовал относительный путь к каталогу: native-image -cp ./ -jar D
Я пробовал полный путь к каталогу: native-image -cp c:/foo/bar/baz -jar D
Я испробовал полный путь к указанному банку: native-image -cp c:/graalvm/bin/A.jar -jar D
Я перепробовал все псевдонимы для пути к классу:
native-image -cp ... -jar D
native-image -classpath ... -jar D
native-image --class-path ... -jar D
Я даже пытался добавить classpath к MANIFEST.MF D.jar через gradle's jar { manifest { attributes: ( "Class-Path": "..." ) } }
. Это прямо рядом с рабочим атрибутом "Main-Class": "foo.bar.D.baz"
в том же месте.
Я только что попал в один каталог, который native-image автоматически игнорирует (это собственная папка bin?) Давайте узнаем! Нет, это тоже не помогло.
Обратите внимание, что я не пробовал все возможные комбинации / перестановки здесь. --class-path
с X, Y, но не с Z.
Что мне не хватает? Если бы кто-то мог опубликовать заведомо исправную командную строку (в идеале для windows), я был бы очень признателен.