ошибка при запуске приложения java swing с консоли [duplicate]

Я запускаю Protractor (webdriver-manager) с Selenium в среде Windows, и мне пришлось сделать следующее:

  1. webdriver-manager update --versions.chrome="2.36" (Это скачало новый Chromedriver вправо путь, но не включил его в транспортир.)
  2. Измените %userprofile%\AppData\Roaming\npm\node_modules\protractor\config.json и изменили значение chromedriver с 2.32 на 2.36.
  3. Удалите мой старый chromedriver_2.32.exe из %userprofile%\AppData\Roaming\npm\node_modules\protractor\selenium для хорошей меры (не уверен, что это было необходимо.)

Или:

Когда появилось другое обновление Chromedriver, я больше не мог обновите этот путь. Настройки конфигурации по-прежнему ожидали старого пути и имени файла, и я не мог понять, где изменить этот параметр. Поэтому я просто переименовал последний хромированный рекордер в «chromedriver.exe» и застрял в C: \ Windows \ system32 (на который всегда ссылается PATH). Сырой, но эффективный.

42
задан Barett 24 June 2015 в 17:11
поделиться

5 ответов

Чтобы создать ImageIcon из файла изображения в тех же банках, ваш код загружен:

new javax.swing.ImageIcon(getClass().getResource("myimage.jpeg"))

Class.getResource возвращает URL-адрес ресурса (или null!). ImageIcon имеет конструкторы, которые загружаются с URL-адреса.

Чтобы создать URL-адрес ресурса в банке не в вашем «пути к классам», см. документацию для java.net.JarURLConnection.

31
ответ дан Tom Hawtin - tackline 29 August 2018 в 02:52
поделиться

В netbeans 8.1 я сделал, чтобы включить папку значков и других изображений, называемых ресурсами внутри папки src в файле проекта. Поэтому всякий раз, когда я создаю Jar-файл, туда входит папка. Дерево файлов должно быть таким:

  • src (файлы Java в исходных пакетах здесь)
  • ** ПАКЕТ, ВЫ НАИМЕНЕНО В ПРОЕКТЕ ** file.java
  • Ресурсы image.jpg

Код должен выглядеть следующим образом:

jToggleButton1.setIcon(new javax.swing.ImageIcon(this.getClass().getResource("/resources/image.jpg")));
1
ответ дан Abdelsalam Shahlol 29 August 2018 в 02:52
поделиться

Это работает для загрузки и установки фонового изображения панели содержимого:

jar (или путь сборки) содержит:

 - com
 - img
 ---- bg.png

java содержит:

JFrame f = new JFrame("Testing load resource from jar");
try {
    BufferedImage bg = ImageIO.read(getClass().getResource("/img/bg.png"));
    f.setContentPane(new ImagePanel(bg));
} catch (IOException e) {
    e.printStackTrace();
}

Протестировано и работает как в jar, так и в unjarred (это технический термин).

BTW getClass().getClassLoader().getResourceAsStream("/img/bg.png") - который я пробовал в первую очередь, возвратил мне null InputStream.

8
ответ дан meagar 29 August 2018 в 02:52
поделиться

Вы можете попробовать что-то вроде:

InputStream stream = this.getClass().getClassLoader().getResourceAsStream("/images/image.jpg");

В вашем JAR-файле у вас может быть структура каталогов:

MyJAR.jar-com (файлы классов здесь) - images ---- image.jpg

21
ответ дан Outlaw Programmer 29 August 2018 в 02:52
поделиться

Загрузка изображения из файла Jar во время выполнения такая же, как загрузка изображения при выполнении из IDE, например, netbeans, разница заключается в том, что при загрузке изображения из JAR-файла путь должен быть правильным и его чувствительный к регистру (очень важно). Это работает для меня

 image1 = new javax.swing.ImageIcon(getClass().getResource("/Pictures/firstgame/habitat1.jpg"));
        img = image1.getImage().getScaledInstance(lblhabitat1.getWidth(), lblhabitat1.getHeight(), Image.SCALE_SMOOTH);
        lblhabitat1.setIcon(new ImageIcon(img));

, если p в «/Pictures/firstgame/habitat1.jpg» в нижнем регистре, он не будет работать. проверки пробелов, случаев и орфографии

0
ответ дан Tobore Igbe 29 August 2018 в 02:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: