Sikuli UnsatisfiedLinkError при использовании sikuli-script.jar
Я на Windows 7 32bit, Java JRE6 31 установлен и использую Sikuli X 1.0rc3. Я хочу запустить тест с sikuli-script.jar следующим образом:
java -jar c:\sikuli\sikuli-script.jar test.sikuli
Все, что я получаю, это сообщение об ошибке:
java.lang.UnsatisfiedLinkError: java.lang.UnsatisfiedLinkError:C:\sikuli\libs\VisionProxy.dll: Can't find dependent libraries
Я установил все необходимые переменные окружения, поэтому мой PATH выглядит так:
PATH=...;C:\sikuli\libs;C:\Program Files\Java\jre6\bin
SIKULI_HOME=C:\sikuli
Я могу использовать IDE и запускать там тесты и т. Д. Но только если я использую Sikuli-IDE.exe
sikuli-ide.bat
а также sikuli-ide.jar
тоже не работает Всегда с одной и той же ошибкой сверху. Поэтому я думаю, что в процессе сборки файла.exe они добавили немного магии, но я не могу понять, что это такое.
У кого-нибудь есть похожая проблема? Или даже решение?
Обновить
Как я писал ниже, он работает из коробки с моим новым компьютером.:D Но, возможно, мое решение может кому-то помочь.
Команда Sikuli использует Launch4J для создания Sikuli-IDE.exe
вне sikuli-ide.jar
, Они используют этот файл конфигурации. Я немного изменил его и создал Sikuli-script.exe
, Это было довольно просто, но я потерял файл конфигурации, к сожалению.
Надеюсь, я смогу помочь!
2 ответа
- Вы должны использовать 32-битную версию JRE (я использую jre-7u4-windows-i586.exe)
- Загрузите Sikuli IDE для Windows (я использую "Sikuli X r930", портативная версия)
- Распакуйте его и скопируйте файлы в папку вашего проекта (я переименовал его в "sikuli-ide", проверьте изображение htt+p:https://stackru.com/images/91f194d5d2fa453396f3ec29f463b41320388f4d.png)
- Добавьте sikuli-script.jar к ссылочным библиотекам ("Проект"> "Свойства"> "Путь сборки Java"> "Библиотеки", проверьте изображение ).
- Установите переменные среды PATH и SIKULI_HOME ("Выполнить"> "Выполнить настройки"> "Среда", проверьте изображение
)
- Ты готов к работе;)
Согласно документам
Thrown if the Java Virtual Machine cannot find an appropriate native-language definition of a method declared native.
Что вам нужно сделать, это использовать эту команду:
-Djava.library.path=pathToDLL
Который добавит вашу DLL, которая отсутствует.