订阅

UiPath Installation and Upgrade

UiPath 安装和升级指南

Java 版扩展程序

📘

备注:

对于使用 Java JDK 打开的 Java 9+ 应用程序,UiPath Java 扩展程序适用于 Windows 企业版和非企业版。对于使用 Java JRE 打开的应用程序,UiPath Java 扩展程序仅适用于 Windows 非企业版。详情请参阅 Java 扩展程序故障排除指南

安装 Java 扩展程序

通过 Studio 和命令行

您可执行以下操作安装 UiPath Java 扩展程序:

  1. 首先,关闭任何正在运行的 Java 应用程序。启动 Studio,并访问 Studio 后台视图中的“工具”选项卡。您可以安装的扩展程序将显示出来。单击“Java 扩展程序”按钮。系统将显示一条确认消息,通知您已安装了该扩展程序。
  2. 在命令行提示符窗口中,使用管理员权限运行 C:\Program Files\UiPath\Studio\UiPath\SetupExtensions.exe /Java 命令。

当您尝试在 Java 应用程序中选择控件且系统未检测到网桥时,Studio 和用户界面探测器也会要求您安装 UiPath Java 扩展程序。请注意,如果您听从用户界面探测器的提示而选择安装 UiPath Java 扩展程序,Java 网桥文件将只会部署在启动目标 Java 应用程序的 JRE 目录,而非 JDK 目录中。

📘

备注:

要安装此扩展程序,您必须具有管理员权限。

要检查扩展程序是否正常工作,请打开用户界面探测器并尝试在 Java 应用程序中选择控件。如果选择了整个窗口,这意味着扩展程序不能正常工作。

您可以通过为 Java 控件生成的选取器来判断是否已正确安装扩展程序。

<wnd app=”...” /><java role=”...” />
<wnd app=”...” /><ctrl role=”client” />

📘

备注:

UiPath Java 扩展程序只能兼容 AWT 应用程序(例如 Java Swing、Oracle Forms、Fujitsu JBK),而 SWT 应用程序则是通过主动式辅助实现自动化。要检测 Java 应用程序的类型,请检查用户界面探测器中的 cls 属性(窗口类名)。类名应该类似于 SunAwtFramejavax.swing

流程可以与 Java 应用程序交互,无论其 DPI 缩放如何。

您还可使用 ScreenScrapeJavaSupport 工具安装 UiPath Java 扩展程序。

在自定义文件夹中安装扩展程序

对于 Java 8 或更低版本

若要在自定义位置安装 Java 的 UiPath 扩展程序,需要执行以下步骤:

  1. 在要安装适用于 Java 的 UiPath 扩展程序的计算机上创建一个新文件夹(如 C:\UiPathJavaExt),然后将以下文件复制到该文件夹:
    1.1. UiPathBridge.jar - 位于 %UserProfile%\.nuget\packages\uipath\20.xx.xxxx\build\UiPath\JavaSupport 目录。
    1.2. 位于 %UserProfile%\.nuget\packages\uipath\20.xx.xxxx\build\UiPath 目录中的 UiPathJavaBridgeV8.dllUiPathJavaBridgeV8_x64.dll。不一定要复制这两个文件,但这可以防止由于 JRE 和 UiPathJavaBridge 之间的版本不匹配而发生的问题。
  2. UiPath 用于安装扩展程序的 Java 扩展程序设置机制在 Java 安装目录(通常为 C:\Program Files (x86)\Java\jre1.8.0_xx)中部署 UiPathBridge.jaraccessibility.properties 文件。若要从自定义文件夹中使用适用于 Java 的 UiPath 扩展程序,则须减少对这些文件的依赖,如下所示:
    2.1. 对于 UiPathBridge.jar 文件,在启动使用扩展程序的 Java 应用程序时,需要指定复制 UiPathBridge.jarUiPathJavaBridgev8.dll 的文件夹(如 C:\UiPathJavaExt)。这是通过 -Djava.ext.dirs = C:\UiPathJavaExt 参数完成的。
    2.2. 对于 accessibility.properties 文件,有两种方法:
    • assistive_technologies=UiPath.UiPathBridge 参数添加到位于 %userprofile% 目录的全局配置文件 accessibility.properties 中。请注意,此文件与适用于 Java 的 UiPath 扩展程序所部署的文件不同,其设置优先于 Java 安装所设的设置。
    • 运行目标 java 应用程序时,请使用 -Djavax.accessibility.assistive_technologies=UiPath.UiPathBridge 参数。

系统属性需要正确传递到目标 Java 应用程序。这可以通过几种方法完成:

  • _JAVA_OPTIONS 环境变量中包括 -Djava.ext.dirs=C:\UiPathJavaExt -Djavax.accessibility.assistive_technologies=UiPath.UiPathBridge 系统属性。JRE 加载来自环境变量的属性和目标应用程序中加载的 Java 的 UiPath 扩展程序。
  • 在命令提示符中使用 C:\Program Files (x86)\Java\jre1.8.0_xx\bin\java.exe -Djavax.ext.dirs=C:\UiPathJavaExt -Djavax.accessibility.assistive_technologies=UiPath.UiPathBridge -jar SwingSet2.jar 命令。将显示一条确认消息,指出适用于 Java 的 UiPath 扩展程序已成功加载。
  • JAVA_TOOL_OPTIONS 环境变量中包括 -Djava.ext.dirs=C:\UiPathJavaExt -Djavax.accessibility.assistive_technologies=UiPath.UiPathBridge 系统属性。请注意,此方法仅适用于 Java 5 或更高版本。

使用以下方法之一可将属性传递到 Java 小程序:

  1. 使用 appletviewer.exe 应用程序。

此方法要求您首先在 %userprofile% 文件夹中创建 .java.policy ,并且应包含以下内容:

grant { 

    permission java.net.URLPermission "url_of_the_Java_applet", "*:*"; 

};

完成操作后,需要使用以下命令并通过 appletviewer.exe 启动目标小程序:

C:\Program Files (x86)\Java\jre1.8.0_xx\bin\appletviewer.exe -J-Djava.ext.dirs=C:\UiPathJavaExt -J-Djavax.accessibility.assistive_technologies=UiPath.UiPathBridge url_of_the_java_applet

  1. 使用与 JRE 一起交付的 Java 控制面板。

Java 控制面板允许您为每个注册的 JRE 指定运行时参数。因此,您需要为目标小程序指定以下参数:-Djava.ext.dirs=C:\UiPathJavaExt -Djavax.accessibility.assistive_technologies=UiPath.UiPathBridge。每次 Java 小程序启动时,其都会为 Java 加载提供 UiPath 扩展程序。

下表显示了上述方法、Java 版本和不同类型的 Java 应用程序之间的兼容性:

Application Type_JAVA_OPTIONSJAVA_TOOL_OPTIONSCommand Line ParametersJava Control Panel - Runtime Parameters
Java Desktop ApplicationJava 3 to Java 8Java 5 to Java 8Java 3 to Java 8Not Supported
Java Contained Application (.exe)Java 3 to Java 8Java 5 to Java 8Java 3 to Java 8 (1)Not Supported
Java AppletJava 3 to Java 8Java 5 to Java 8Not SupportedJava 3 to Java 8
Java Oracle FormsNot SupportedNot SupportedNot SupportedNot Supported

(1) - 根据使用的命令行工具,可能需要通过环境变量传递其他参数。

对于 Java 9 或更高版本

从 Java 9 开始,将删除 Java 扩展机制,这意味着 -Djava.ext.dirs 参数不能用于 Java 9 和更高版本的应用程序。因此,需要执行以下步骤:

  1. 在要安装适用于 Java 的 UiPath 扩展程序的计算机上创建一个新文件夹(如 C:\UiPathJavaExt),然后将以下文件复制到该文件夹:
    1.1. UiPathBridge.jarUiPathJavaServiceProvider.jar - 位于 %UserProfile%\.nuget\packages\uipath\20.xx.xxxx\build\UiPath\JavaSupport 目录中。
    1.2. 位于 %UserProfile%\.nuget\packages\uipath\20.xx.xxxx\build\UiPath 目录中的 UiPathJavaBridgeV8.dllUiPathJavaBridgeV8_x64.dll。不一定要复制这两个文件,但这可以防止由于 JRE 和 UiPathJavaBridge 之间的版本不匹配而发生的问题。
  2. 将以前创建的文件夹添加到目标 Java 应用程序的类路径。这是使用 -cp, -classpath 命令完成的。为了举例说明,我们将 SwingSet2 视为目标 Java 应用程序:
    C:\Program Files (x86)\Java\jre1.9.0_xx \bin\java.exe -cp SwingSet2.jar; C:\UiPathJavaExt -Djavax.accessibility.assistive_technologies=UiPathJavaServiceProvider SwingSet2

故障排除

本主题介绍了 UiPath Java 扩展程序可能无法正常工作的常见原因,以及针对这些问题的解决方案。

要检查扩展程序是否正常工作,请打开用户界面探测器并尝试在 Java 应用程序中选择控件。如果选择了整个窗口,这意味着扩展程序不能正常工作。

如果可以选择控件,但控件的选取器看起来像
<wnd app=”...” /><ctrl role=”client” /> 代替 <wnd app=”...” /><java role=”...” />,则扩展程序无法正常工作。

请注意,UiPath Java 扩展程序只能兼容 AWT 应用程序(例如 Java Swing、Oracle Forms、Fujitsu JBK),而 SWT 应用程序则是通过主动式辅助实现自动化。要检测 Java 应用程序的类型,请检查用户界面探测器中的 cls 属性(窗口类名)。类名应该类似于 SunAwtFramejavax.swing

📘

备注:

对于使用 Java JDK 打开的 Java 9+ 应用程序,UiPath Java 扩展程序适用于 Windows 企业版和非企业版。对于使用 Java JRE 打开的应用程序,UiPath Java 扩展程序仅适用于 Windows 非企业版。

使用 Java 9+ JRE 应用程序:

对于 Java 9 之前的版本,Java 运行时环境 (JRE) 已包含 jdk.attach 模块,该模块可与 UiPath Java 扩展程序交互以生成相应选取器。对于 Java 9+,仅 Java 开发工具包 (JDK) 中包含此模块。

已为所有使用 Java JDK 打开的 Java 9+ 应用程序生成选取器。不过,若要创建自动化项目以与使用 Java JRE 打开的应用程序进行交互,您需在目标 JRE 中手动添加 jdk.attach 模块。

为防止可能出现的问题:

  1. 打开进程资源管理器。
  2. 在“视图”菜单中,选择“下方窗格视图”>“DLLS”,或按 Ctrl+D。随后,窗口下半部分将显示一个面板。
  3. 选择 Java 应用程序的进程,并检查 Java 应用程序加载的是 UiPathJavaBridgeV8.dll 还是 UiPathJavaBridgeV8_x64.dll
  4. 检查是从哪个路径加载 java.dll 模块。普通 JRE 的路径类似于 C:\Program Files (x86)\Java\jre1.8.0_xx\bin\java.dll。自定义 JRE 通常位于应用程序文件夹中。

您还可以验证扩展程序文件是否已正确安装:

  • 使用文本编辑器(如 Notepad++)打开位于 C:\Program Files (x86)\Java\jre1.8.0_xx\lib 文件夹中的 accessibility.properties 文件。如果扩展程序已正确安装,则文件应包含 assistive_technologies=UiPath.UiPathBridge
  • C:\Program Files (x86)\Java\jre1.8.0_xx\lib\ext 文件夹中,您应该会找到 UiPathBridge.jar 文件。
  • C:\Program Files (x86)\Java\jre1.8.0_xx\bin 文件夹中,您应该找到 UiPathJavaBridgeV8.dllUiPathJavaBridgeV8_x64.dll

📘

备注:

如果没有满足前面的任何要求,您可以尝试重新安装上述扩展程序,或者手动修复。

禁用 Java Access Bridge:

启用“Java Access Bridge”会在当前用户的主目录中创建 accessibility.properties 文件,该文件覆盖由默认网桥加载的可访问性网桥。解决方案是禁用“Java Access Bridge”并删除 accessibility.properties 文件,如下所示:

  1. 转到“控制面板”>“轻松访问中心”>“使计算机更易于查看”。
  2. 滚动到页面底部的“其他安装的程序”部分。
  3. 确保未选中“启用 Java Access Bridge”框。
19201920
  1. 如果选中了“启用 Java Access Bridge”框,请转到 C:\Users\current_user
  2. 删除 .accessibility.properties 文件。

📘

备注:

如未显示“启用 Java Access Bridge”选项,则需重新安装或更新 Java。

在没有 SP1 的情况下运行 UiPath Studio 2017.1

在使用 UiPath Studio 2017.1 或更低版本时,一些 Java 网页应用程序无法正确加载。JInitiator 1.3 和 JRE 3 会发生这种情况。为了防止出现这种情况,您需要手动将 xml-apis.jar 文件复制到 C:\Program Files (x86)\Java\jre1.8.0_xx\lib\ext 文件夹或 C:\Program Files (x86)\Java\JInitiator1.3.18\lib\ext 文件夹。

📘

备注:

只有低于 2017.1 SP1 的 Studio 版本中才会出现这一问题。

如果上面的信息不能解决您的问题,您可以尝试通过查看这里说明的追踪,并分析 UiPath 扩展程序抛出的错误,从而获得其他信息。

大约一年前更新


Java 版扩展程序


建议的编辑仅限用于 API 参考页面

您只能建议对 Markdown 正文内容进行编辑,而不能建议对 API 规范进行编辑。