使用没有ide的sikuli-script jar。无法找到依赖库

时间:2014-07-09 09:52:25

标签: java dll sikuli

我正在尝试使用sikuli-script.jar而不使用sikuli-ide。 它甚至执行以下行

     Screen x=new Screen();
     x.click("File");

但它继续投掷无法找到依赖库异常 但所有依赖的dll都存在于那里。

我甚至使用

手动设置lib文件夹的路径
 System.setProperty("java.library.tmpdir",   "D:/Madhan/branches/Branch_DVI/GUI/Spritz/test/libs");

但它无法正常工作。我已经在启动板中以各种可能的方式进行了搜索。

  Exception in thread "AWT-EventQueue-0" Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "D:\Madhan\branches\Branch_DVI\GUI\Spritz\lib\sikuli-script.jar\Lib\sikuli\__init__.py", line 3, in <module>
 File "D:\Madhan\branches\Branch_DVI\GUI\Spritz\lib\sikuli-script.jar\Lib\sikuli\Sikuli.py", line 22, in <module>

  m java.lang.UnsatisfiedLinkError:     D:\Madhan\branches\Branch_DVI\GUI\Spritz\test\libs\VisionProxy.dll: Can't find dependent libraries
    at java.lang.ClassLoader$NativeLibrary.load(Native Method)
    at java.lang.Class.forName0(Native Method)
    at sikuli.Sikuli$py.f$0(D:\Madhan\branches\Branch_DVI\GUI\Spritz\lib\sikuli-script.jar\Lib\sikuli\Sikuli.py:211)
    at sikuli.Sikuli$py.call_function(D:\Madhan\branches\Branch_DVI\GUI\Spritz\lib\sikuli-script.jar\Lib\sikuli\Sikuli.py)
    at sikuli$py.f$0(D:\Madhan\branches\Branch_DVI\GUI\Spritz\lib\sikuli-script.jar\Lib\sikuli\__init__.py:3)
   at sikuli$py.call_function(D:\Madhan\branches\Branch_DVI\GUI\Spritz\lib\sikuli-script.jar\Lib\sikuli\__init__.py)
   at org.python.pycode._pyx0.f$0(<string>:1)
   at org.python.pycode._pyx0.call_function(<string>)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.security.AccessController.doPrivileged(Native Method)

3 个答案:

答案 0 :(得分:0)

由于我没有足够的声誉,我无法发表评论。这就是为什么我要回答的问题。我对SikuliX也很陌生。 安装中最新版本的SikuliX不会在其中创建sikuli-script.jar。他们只有一个sikuli-ide.jar或sikulixapi.jar。

尝试https://launchpad.net/sikuli/sikulix/1.0.1

创建一个文件夹,说&#39; SikuliX&#39;在你当地的车道。 在安装时,这将给出一个胖jar文件。 &#39; SikuliX&#39;文件夹也将有libs。 您需要将此libs位置添加到路径(C:\ SikuliX \ libs)

答案 1 :(得分:0)

请尝试参考http://doc.sikuli.org/faq/030-java-dev.html

我不知道您使用的是哪个版本。 在1.0.1版本中,当你第一次导入sikuli-script.jar并自动将这个libs路径添加到你的系统路径中时,应该创建D:/ Madhan / branches / Branch_DVI / GUI / Spritz / test / libs,所以你不要#39 ; t需要将其添加到java.library.tmpdir。尝试在Java项目的CLASSPATH中包含sikuli-script.jar,并在java源代码中导入org.sikuli.script。*。

答案 2 :(得分:0)

按照给定的步骤在没有IDE的情况下使用sikuli:

  1. 在你的java程序中,第一次导入需要sikuli库(import org.sikuli.script。*; )

  2. 将sikuli-script.jar或sikuli-java.jar添加到java项目的构建路径中。

  3. 更新环境变量sikuli库路径。

  4. 导出你的jar(可执行文件)。

  5. 运行此cmd

    cd "your directory"
    
    "java -jar your_program.jar"