Класс не имеет доступа к ресурсам, когда оба находятся внутри jar - PullRequest
0 голосов
/ 19 мая 2018

Я попробовал все виды комбинаций кода, чтобы попытаться получить доступ к ресурсам безрезультатно.Весь приведенный ниже код работает внутри моей IDE, но выдает либо исключение NullPointerException, либо InvalidArgumentException при выполнении из файла Jar.

//these don't work
//C3 = new ImageIcon( getClass().getResource("c3.png") );
//C3 = new ImageIcon( ImageIO.read( getClass().getResource("c3.png") );
//C3 = new ImageIcon( ImageIO.read( ClassLoader.getSystemClassLoader().getResourceAsStream( "c3.png" ) ) );
//C3 = new ImageIcon( ImageIO.read( getClass().getClassLoader().getResource( "C3.png" ) ) );
//C3 = new ImageIcon(VP2CPConverter.class.getResource("/C3.png"));
//C3 = new ImageIcon( VP2CPConverter.class.getClassLoader().getResource( "C3.png" ) );
//

На последнем этапе устранения неполадок вы увидите, что я переместил все изображения в другую папку и изменил пути, как вы увидите на этих изображениях.

executing jar path to images

Строка, на которую указывает исключение, это строка с "C3 = ...

. В качестве предыдущего шага по устранению неполадок я попытался использовать getResourceAsStream (), чтобы вывести список всехресурсы, которые были доступны, чтобы увидеть, был ли он только один, но ресурсов не было. Это как если бы их не было, но вы можете открыть банку и проверить путь, и они точно там, где и должны быть.

...