Sikuli UnsatisfiedLinkError при использовании sikuli-script.jar

У меня 32-разрядная версия Windows 7, установлена ​​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. Это было довольно просто, но я, к сожалению, потерял файл конфигурации.

Надеюсь, я смог помочь!


person jsbeckr    schedule 12.03.2012    source источник


Ответы (2)


  1. Вы должны использовать 32-битную версию JRE (я использую jre-7u4-windows-i586.exe)
  2. Скачать Sikuli IDE для Windows (я использую "Sikuli X r930", портативная версия)
  3. Распакуйте его и скопируйте файлы в папку вашего проекта (я переименовал его в «sikuli-ide», проверьте изображение htt+p://i.stack.imgur.com/LSiQV.png)
  4. Добавьте sikuli-script.jar в ссылочные библиотеки (Проект > Свойства > Путь сборки Java > Библиотеки, проверьте изображение http://i.stack.imgur.com/N2SJ8.png)
  5. Установите переменные среды PATH и SIKULI_HOME (Выполнить > Конфигурации запуска > Среда, проверьте изображение http://i.stack.imgur.com/HboXk.png)
  6. Вы готовы к работе ;)
person filipe alonso    schedule 27.04.2012

Согласно документам

Thrown if the Java Virtual Machine cannot find an appropriate native-language definition of a method declared native.

Что вам нужно сделать, это использовать эту команду:

-Djava.library.path=pathToDLL

Что добавит отсутствующую DLL.

person Woot4Moo    schedule 12.03.2012
comment
Или, как вариант, переместите DLL: C:\sikuli\VisionProxy.dll Однако лучше указать путь к библиотеке. - person Dave; 12.03.2012
comment
Это не работает... Я нашел решение с помощью Launch4j, которое я опубликую, когда у меня будет время. - person jsbeckr; 12.03.2012
comment
Приобрел на работе новый комп, установил все как в прошлый раз. Но теперь это работает... :D - person jsbeckr; 03.04.2012