【问题标题】:Exporting an app with Sikuli使用 Sikuli 导出应用程序
【发布时间】:2015-05-19 13:30:02
【问题描述】:

我在使用 java 库 sikuli 时遇到问题。 首先,我下载了 sikuli setup 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 块。我已经像这样配置了 Eclipse:https://stackoverflow.com/a/10354759/2815780

【问题讨论】:

  • @RaiMan 你有什么想法吗,我读过很多你在 sikuli 工作的帖子。

标签: java eclipse export sikuli


【解决方案1】:

这是来自 SikuliX (http://sikulix.com) 的 RaiMan

-- 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 jars 不应该移动,而只能以某种方式引用)

-- 4. 你说:没有触发 catch 块,尽管我已经用 catch(Exception ex) 包围了代码。 如果你从命令行运行你的 jar 说:

java -jar myapp.jar

它应该会因一些不匹配的异常而崩溃(很可能是“找不到类”)

正如您已经做的那样,您可以直接与我联系并在此处参考此帖子。

【讨论】:

  • 首先,感谢您的回复。我已经下载了 sikuli 1.1.0。我运行 setup 只单击了第二个选项,然后让 setup 完成它的工作。现在我有一个 Libs 文件夹、一个 Lib 文件夹、一个 Downlaod 文件夹和 sikulixapi.jar。所以我想我应该将 sikulixapi 拖放到我的 Eclipse 项目中并将其添加到构建路径中。我还应该做什么?我希望所有东西都放在一个大 jar 中(我的代码 + 库,所以我可以删除文件并运行它)提前致谢。
  • 我右键单击我的项目删除了所有旧的 sikuli 库并转到库选项卡。单击“添加外部 JARS”并导航到 c:\...\Documents\sikuli 并选择 sikulixapi.jar。所以这是我现在使用的唯一库。在我的 Eclipse 中,我现在有一个名为“Refrenced Libraries”的文件夹,当我单击它旁边的小箭头时,我看到:sikulixapi.jar c:\...\Documents\sikuli。我现在可以将它导出到一个可运行的 jar 并部署到每个运行 java 的系统上吗?
  • 我刚刚做了参考库并导出了,但我收到了这个错误:drive.google.com/file/d/0BymG7-nABOfnVGxUQmNzZERtam8/…我想我忘记了一些东西:)
  • 我真的不建议将 sikulixapi.jar 与您的应用程序 jar 一起打包。您应该单独部署它。但在任何情况下,您都不应该将 sikulixapi.jar 复制到您的项目中 - 始终使用引用。最方便的方法是使用 Maven,因为那时你甚至不需要设置,只需要依赖项。 Maven 有很好的插件来构建胖罐子。例如查看 github 上的项目。
  • 好的,我会在我的eclipse上安装maven再试一次。感谢您的更新。
猜你喜欢
  • 2019-08-05
  • 2012-03-28
  • 2017-11-10
  • 2019-07-19
  • 2015-02-09
  • 2015-02-27
  • 2014-08-22
  • 1970-01-01
  • 2018-07-16
相关资源
最近更新 更多