我在使用 java 库 sikuli 时遇到问题。 首先,我下载了 sikuli 安装 jar 并执行它。它创建了 sikuli-java.jar 和一个 libs 文件夹(位于 c:/documents/sikuli 下)。之后我在eclipse中创建了一个项目,将jar添加到构建路径并编写代码。当我在 Eclipse 中运行该代码时,该代码有效。之后我用它创建了一个可运行的 jar 。我运行了可运行的 jar 。当它击中 sikuli 代码时它就关闭了。
我想将应用程序导出为可运行的 jar 并部署它,而不需要用户安装 sikuli。这可能吗?
另外:https://github.com/RaiMan/SikuliX-2014/wiki/Usage-in-Java-programming
take care, that sikulixapi.jar is in the Java classpath of your project
我什至没有名为 sikulixapi.jar 的文件。
==========================================
也许是一个简短的说明,我使用选项 4 和 6 创建了 sikuli-java.jar。
编辑: 任何人?该应用程序在 Eclipse 中运行良好,但是当我将其导出为可运行 jar 并运行它时,一旦它遇到 sikuli 内容,它就会关闭。尽管我用 catch(Exception ex) 包围了代码,但没有触发 catch block 。我已经像这样配置了 eclipse: https://stackoverflow.com/a/10354759/2815780
最佳答案
我是 SikuliX 的 RaiMan ( http://sikulix.com )
-- 1. 您当前使用的是1.0.1。我建议切换到版本 1 1.1.0,因为这安装起来更流畅,尤其是在 Windows 上(不再需要路径条目或其他任何东西)。 由于您想将应用程序部署到未安装 SikuliX 的系统,这会让事情变得更容易。
-- 2. 如果您想在未安装 SikuliX 的系统上运行您的应用程序,您必须将 sikulixapi.jar (通过目标系统的设置创建)打包到您的应用程序 jar 中(制作一个所谓的 fat jar 或uber jar)或允许人们从某处下载现成的 sikulixapi.jar 并在您的应用程序中小心,当您的应用程序运行时,sikulixapi.jar 位于类路径上。对于您的情况而言,什么有意义取决于您希望如何发布应用程序。
-- 3. 你说:应用程序在 Eclipse 中运行良好,但是当我将其导出为可运行的 jar 时... 在 Eclipse 内部,它需要汽车,依赖的东西位于类路径上。不过,工作区中生成的 jar 是“裸露的”,并且在运行时需要类路径。 有一个选项可以将依赖的 jar 复制到工作区中的 lib 文件夹中。如果你这样做,你的 jar 就会工作(尽管我不建议这样做:sikulix jar 不应该被移动,而只能以某种方式引用)
-- 4. 你说:没有触发 catch block ,尽管我已经用 catch(Exception ex) 包围了代码。 如果您从命令行运行 jar 并说:
java -jar myapp.jar
它应该因一些不匹配的异常而崩溃(最有可能是“找不到类”)
正如您已经所做的那样,您可以引用此处的这篇文章直接与我联系。
关于java - 使用 Sikuli 导出应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27880151/