Сборка файла fat-jar с файлом mvn pom имеет структуру, отличную от локального репозитория «.m2».JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Сборка файла fat-jar с файлом mvn pom имеет структуру, отличную от локального репозитория «.m2».

Сообщение Anonymous »

У меня есть вопросы по созданию исполняемого jar-файла со всеми зависимостями. Конечные пользователи не являются разработчиками.
Одной из функций является отображение содержимого PDF-файлов в компоненте ImageView JavaFx. Некоторые изображения, встроенные в файлы PDF, имеют формат jpeg2000. Итак, в pom.xml программы добавлены следующие зависимости:

Код: Выделить всё

com.github.jai-imageio
jai-imageio-core
1.4.0


com.github.jai-imageio
jai-imageio-jpeg2000
1.3.0


org.apache.pdfbox
jbig2-imageio
3.0.0

И классы в репозитории '.m2' на моем компьютере показаны ниже.
[img]https: //i.sstatic.net/O6xT5z18.png[/img]

Когда я запускаю программу в IntelliJ (версия сообщества 2024.2.4), она работает хорошо. Изображения (включая jpeg2000) в файлах PDF отображаются правильно.
Затем я запускаю «чистку» и «пакет» в pom.xml (внутри Intellij), файл fat-jar созданный. Я проверяю содержимое файла jar, оно выглядит, как показано ниже, с другим именем пути.
[img]https://i. sstatic.net/Tc3tO0Jj.png[/img]

Когда я запускаю этот исполняемый файл jar и загружаю PDF-файл, в который встроено изображение jpeg2000, возникает ошибка, сообщения журнала приведены ниже.
12.11.2024-09:10:42 ОШИБКА PDFStreamEngine(935) — невозможно прочитать изображение JPEG2000: инструменты ввода-вывода изображений Java Advanced Imaging (JAI) не установлены
org.apache.pdfbox.filter.MissingImageReaderException: невозможно прочитать изображение JPEG2000: инструменты ввода-вывода изображений Java Advanced Imaging (JAI) не установлены
в org.apache.pdfbox.filter.Filter.findImageReader(Filter.java) :172) ~[CoverSheetCreatorFX_new.jar:?]
в org.apache.pdfbox.filter.JPXFilter.readJPX(JPXFilter.java:123) ~[CoverSheetCreatorFX_new.jar:?]
в org.apache .pdfbox.filter.JPXFilter.decode(JPXFilter.java:72) ~[CoverSheetCreatorFX_new.jar:?]
at org.apache.pdfbox.filter.Filter.decode(Filter.java:254) ~[CoverSheetCreatorFX_new. jar:?]
в org.apache.pdfbox.cos.COSInputStream.create(COSInputStream.java:73) ~[CoverSheetCreatorFX_new.jar:?]
в org.apache.pdfbox.cos.COSStream. createInputStream(COSStream.java:172) ~[CoverSheetCreatorFX_new.jar:?]
at org.apache.pdfbox.pdmodel.common.PDStream.createInputStream(PDStream.java:193) ~[CoverSheetCreatorFX_new.jar:?]в org.apache.pdfbox.pdmodel.graphics.image.PDImageXObject.createInputStream(PDImageXObject.java:895) ~[CoverSheetCreatorFX_new.jar:?]
в org.apache.pdfbox.pdmodel.graphics.image .SampledImageReader.from8bit(SampledImageReader.java:469) ~[CoverSheetCreatorFX_new.jar:?]
at org.apache.pdfbox.pdmodel.graphics.image.SampledImageReader.getRGBImage(SampledImageReader.java:217) ~[CoverSheetCreatorFX_new. jar:?]
в org.apache.pdfbox.pdmodel.graphics.image.PDImageXObject.getImage(PDImageXObject.java:477) ~[CoverSheetCreatorFX_new.jar:?]
в org.apache.pdfbox. pdmodel.graphics.image.PDImageXObject.getImage(PDImageXObject.java:438) ~[CoverSheetCreatorFX_new.jar:?]
at org.apache.pdfbox.rendering.PageDrawer.drawImage(PageDrawer.java:1248) ~[CoverSheetCreatorFX_new .jar:?]
в org.apache.pdfbox.contentstream.operator.graphics.DrawObject.process(DrawObject.java:74) ~[CoverSheetCreatorFX_new.jar:?]
в org.apache.pdfbox .contentstream.PDFStreamEngine.processOperator(PDFStreamEngine.java:893) ~[CoverSheetCreatorFX_new.jar:?]
at org.apache.pdfbox.contentstream.PDFStreamEngine.processStreamOperators(PDFStreamEngine.java:531) ~[CoverSheetCreatorFX_new.jar: ?]
в org.apache.pdfbox.contentstream.PDFStreamEngine.processStream(PDFStreamEngine.java:506) ~[CoverSheetCreatorFX_new.jar:?]
в org.apache.pdfbox.contentstream.PDFStreamEngine.processPage( PDFStreamEngine.java:153) ~[CoverSheetCreatorFX_new.jar:?]
at org.apache.pdfbox.rendering.PageDrawer.drawPage(PageDrawer.java:286) ~[CoverSheetCreatorFX_new.jar:?]
at org.apache.pdfbox.rendering.PDFRenderer.renderImage(PDFRenderer.java:330) ~[CoverSheetCreatorFX_new.jar:?]
at org.apache.pdfbox.rendering.PDFRenderer.renderImage(PDFRenderer.java:247) ~ [CoverSheetCreatorFX_new.jar:?]
на org.apache.pdfbox.rendering.PDFRenderer.renderImageWithDPI(PDFRenderer.java:219) ~[CoverSheetCreatorFX_new.jar:?]
Это ошибка не возникает при работе в IntelliJ. Я думаю, что процесс сборки с pom.xml делает что-то неожиданное, и основной причиной является другой путь к пакету com.github.jai-imageio в jar.
Кстати, Java 8 используется в среде разработки на моем компьютере.
Раздел «сборка» в pom.xml приведен ниже,

Код: Выделить всё



org.apache.maven.plugins
maven-assembly-plugin


package

single




CoverSheetCreatorFX



jar-with-dependencies

false






Если моя догадка верна, то как можно исправить проблему в pom.xml (или где-то еще)?
Или, если моя догадка верна неправильно, тогда что мне делать дальше?
Заранее большое спасибо.

Подробнее здесь: https://stackoverflow.com/questions/791 ... ocal-m2-re
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»