gpt4 book ai didi

java - sikuli 找不到图像文件

转载 作者:行者123 更新时间:2023-11-29 06:57:26 28 4
gpt4 key购买 nike

使用 sikulixapi 1.1.0 在 Java 中试用 Sikuli,但它找不到我的图像文件。

      screen.click("images/Terminal.png");

Maven (shade) 按预期将我的 src/main/resources/images 放入 JAR 的顶层“images”目录中。但是运行 uberjar 找不到图像。

~/hello $ java -cp target/hello.jar hello.TestSikuli
[error] Image: could not be loaded: file://Users.../hello/images/Terminal.png

它在当前目录(碰巧是项目目录)中查找,而不是在 JAR 中查找。我在程序中打印出imagePath,是一个空数组。

我如何获取它(可能使用 imagePath.add?)来搜索调用的 JAR?我原以为它会默认显示在那里。


我尝试的另一件事:

URL u = this.getClass().getClassLoader().getResource("images/Terminal.png");
Region r = screen.find(u);

但是那爆炸了;如果我按此处所示传递 URL,则会收到“无效参数”;如果我传递 .toString,我得到:

FindFailed: Region: doFind: Image not loadable:
jar:file:/Users/.../Sikulix/j/hello/target/hello-1.0-SNAPSHOT.jar!/images/Terminal.png

Sikluix中好像没有流输入接口(interface),所以这可能做不到。

最佳答案

这有效:

  ImagePath.add(TestSikuli.class.getCanonicalName() + "/images");

将图像加载到内存中可能还有一种解决方法。 https://answers.launchpad.net/sikuli/+question/232217

关于java - sikuli 找不到图像文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31839136/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com