Я запускаю Protractor (webdriver-manager) с Selenium в среде Windows, и мне пришлось сделать следующее:
webdriver-manager update --versions.chrome="2.36"
(Это скачало новый Chromedriver вправо путь, но не включил его в транспортир.) %userprofile%\AppData\Roaming\npm\node_modules\protractor\config.json
и изменили значение chromedriver
с 2.32
на 2.36
. chromedriver_2.32.exe
из %userprofile%\AppData\Roaming\npm\node_modules\protractor\selenium
для хорошей меры (не уверен, что это было необходимо.) Или:
Когда появилось другое обновление Chromedriver, я больше не мог обновите этот путь. Настройки конфигурации по-прежнему ожидали старого пути и имени файла, и я не мог понять, где изменить этот параметр. Поэтому я просто переименовал последний хромированный рекордер в «chromedriver.exe» и застрял в C: \ Windows \ system32 (на который всегда ссылается PATH). Сырой, но эффективный.
Чтобы создать ImageIcon
из файла изображения в тех же банках, ваш код загружен:
new javax.swing.ImageIcon(getClass().getResource("myimage.jpeg"))
Class.getResource
возвращает URL-адрес ресурса (или null
!). ImageIcon
имеет конструкторы, которые загружаются с URL-адреса.
Чтобы создать URL-адрес ресурса в банке не в вашем «пути к классам», см. документацию для java.net.JarURLConnection
.
В netbeans 8.1 я сделал, чтобы включить папку значков и других изображений, называемых ресурсами внутри папки src в файле проекта. Поэтому всякий раз, когда я создаю Jar-файл, туда входит папка. Дерево файлов должно быть таким:
- src (файлы Java в исходных пакетах здесь)
blockquote> blockquote>
- ** ПАКЕТ, ВЫ НАИМЕНЕНО В ПРОЕКТЕ ** file.java
- Ресурсы image.jpg
Код должен выглядеть следующим образом:
jToggleButton1.setIcon(new javax.swing.ImageIcon(this.getClass().getResource("/resources/image.jpg")));
Это работает для загрузки и установки фонового изображения панели содержимого:
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.
Вы можете попробовать что-то вроде:
InputStream stream = this.getClass().getClassLoader().getResourceAsStream("/images/image.jpg");
В вашем JAR-файле у вас может быть структура каталогов:
MyJAR.jar-com (файлы классов здесь) - images ---- image.jpg
blockquote>
Загрузка изображения из файла 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» в нижнем регистре, он не будет работать. проверки пробелов, случаев и орфографии