#clojure #graalvm-native-image
#clojure #graalvm-native-image
Вопрос:
Когда я хочу скомпилировать приложение из файла jar с помощью native-image (graalvm версии 21.3.0, как на Java 11, так и на Java 17), я получаю следующую ошибку.
> $GRAAL_HOME/bin/native-image --no-fallback --initialize-at-build-time -jar $JARFILE
[...]
Error: com.oracle.graal.pointsto.constraints.UnresolvedElementException: Discovered
unresolved type during parsing: clojure.lang.Compiler$Expr. To diagnose the issue
you can use the --allow-incomplete-classpath option. The missing type is then reported
at run time when it is accessed the first time.
[...]
(Если я добавлю --allow-incomplete-classpath
опцию, то во время выполнения появится та же ошибка.)
Я прочитал, что это означает, что тип не может быть найден в пути к классу. Но я вижу, что файл класса уже находится в файле jar, который я пытаюсь скомпилировать:
> jar tf uclj-0.1.0-SNAPSHOT-standalone.jar | grep -e 'Compiler$Expr'
clojure/lang/Compiler$Expr.class
Чего мне здесь не хватает? Спасибо!