Java код, работающий в Intellij Idea, но не работающий файл JAR после сборки артефакта - PullRequest
0 голосов
/ 02 апреля 2020

Почему java код работает в Intellij Idea, но не работает с JAR-файлом после построения артефакта? Я попытался изменить его на "getResource (" ../ img / icon.jpg "))" и указать полный путь. Это не помогает.

enter image description here

enter image description here введите описание изображения здесь

Ответы [ 2 ]

0 голосов
/ 04 апреля 2020

Я понял это. Проблема заключалась в том, что файл назывался «icon. JPG », но в коде «icon. jpg ». По какой-то причине это работало при запуске в IDE и не работало в JAR.

0 голосов
/ 02 апреля 2020

На основе определения метода getResource () из https://docs.oracle.com/javase/8/docs/technotes/guides/lang/resources.html

Методы getResource () находят ресурс с заданным именем. Правила поиска ресурсов, связанных с данным классом, реализуются ClassLoader класса.

он делегирует ClassLoader для загрузки ресурса, а ClassLoader найдет ресурс через classpath.

в этом случае вы можете попытаться указать classpath в вашей команде для проверки

 java -cp target/your_file.jar your.package.name.YourClass
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...