У меня проблемы с компиляцией исходного кода ZXing на безголовом сервере Ubuntu 16.04, а дома на Ubuntu 18.04 (без заголовка) он компилируется просто отлично. Я возился с локалями, убедившись, что они идентичны, хотя это не исправляет ошибки вроде:
[ОШИБКА] /root/zxing/core/src/main/java/com/google/zxing/client/result/WifiResultParser.java:36: ошибка: не отображаемый символ для кодировки ASCII
Пройдя через setup-locale и другие несколько попыток с LC_ALL, я просто не понимаю, в чем проблема, и изменение исходного кода является наименее благоприятным вариантом. Это файл -bi сообщает о файлах как текст / обычный; charset = utf-8, так что я озадачен тем, где ASCII вступает в игру.
Пока что я могу сделать с пакетом mvn -Dmaven.test.skip = true -Dmaven.javadoc.skip = true, но это всего лишь обходной путь, а не решение.
Дальнейшие тесты с java -jar -verbose показывают, что может быть что-то более серьезное, чего не хватает, потому что он прекращает выполнение в:
[6,979s] [info] [classload] java.time.Instant источник: jrt: /java.base
[6.980s] [info] [classload] java.time.Clock источник: jrt: /java.base
[6.980s] [info] [classload] java.time.Clock $ SystemClock источник: jrt: /java.base
[6.982s] [info] [classload] java.time.ZoneId источник: jrt: /java.base
[6.982s] [info] [classload] java.time.ZoneOffset source: jrt: /java.base
На моей локальной машине он инициализирует java.util.logging.Logger после этой строки, в то время как на сервере он пропускает ее и выходит.
Дальнейшая проверка показывает, что он не может прочитать изображение, которое я ему даю, останавливаясь на:
Родной метод динамической компоновки com.sun.imageio.plugins.jpeg.JPEGImageReader.readImage ... JNI]
Родной метод динамической компоновки com.sun.imageio.plugins.jpeg.JPEGImageReader.disposeReader ... JNI]
Встроенный метод динамической компоновки java.io.FileInputStream.close0 ... JNI]