UiPath Documentation
studio
2020.10
false
Studio 用户指南
重要 :
新发布内容的本地化可能需要 1-2 周的时间才能完成。

Java 版扩展程序

备注:

For Java 9+, the UiPath Extension for Java works on Windows Enterprise and non-Enterprise editions with applications opened with Java JDK. For applications opened with Java JRE, the UiPath Extension for Java only works on non-Enterprise Windows editions. Read more on the Java Extension Troubleshooting guide.

通过 Studio 和命令行

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

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

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

备注:

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

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

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

  • Java 控件的有效选取器:<wnd app=”...” /><java role=”...” />
  • Java 控件的无效选取器:<wnd app=”...” /><ctrl role=”client” />
备注:

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

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

The UiPath Extension for Java can also be installed using the ScreenScrapeJavaSupport tool.

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

对于 Java 8 或更低版本

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

  1. 在要安装适用于 Java 的 UiPath 扩展程序的计算机上创建一个新文件夹(如 C:\UiPathJavaExt),然后将以下文件复制到该文件夹:
    1. UiPathBridge.jar - 位于 %UserProfile%\.nuget\packages\uipath\20.xx.xxxx\build\UiPath\JavaSupport 目录中。
    2. UiPathJavaBridgeV8.dllUiPathJavaBridgeV8_x64.dll - 位于 %UserProfile%\.nuget\packages\uipath\20.xx.xxxx\build\UiPath 目录中。不一定要复制这两个文件,但这可以防止由于 JRE 和 UiPathJavaBridge 之间版本不匹配所引致的问题。
  2. UiPath 用于安装扩展程序的 Java 扩展程序设置机制在 Java 安装目录(通常为 C:\Program Files (x86)\Java\jre1.8.0_xx)中部署 UiPathBridge.jaraccessibility.properties 文件。若要从自定义文件夹中使用适用于 Java 的 UiPath 扩展程序,则须减少对这些文件的依赖,如下所示:
    1. 对于 UiPathBridge.jar 文件,在启动使用扩展程序的 Java 应用程序时,需要指定复制 UiPathBridge.jarUiPathJavaBridgev8.dll 的文件夹(如 C:\UiPathJavaExt)。这是通过 -Djava.ext.dirs = C:\UiPathJavaExt 参数完成的。
    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", "<em>:</em>";
    };
    grant {
        permission java.net.URLPermission "url_of_the_Java_applet", "<em>:</em>";
    };
    

    完成操作后,需要使用以下命令并通过 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

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

    Java 控制面板允许您为每个注册的 JRE 指定运行时参数。因此,您需要指定

    -Djava.ext.dirs=C:\UiPathJavaExt -Djavax.accessibility.assistive_technologies=UiPath.UiPathBridge

    目标小程序的参数。每次 Java 小程序启动时,都会加载 UiPath Java 扩展程序。

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

应用程序类型_JAVA_OPTIONSJAVA_TOOL_OPTIONS命令行参数Java 控制面板 - 运行时参数
Java 桌面应用程序Java 3 到 Java 8Java 5 到 Java 8Java 3 到 Java 8不支持
Java 自含的应用程序 (.exe)Java 3 到 Java 8Java 5 到 Java 8Java 3 到 Java 8 (1)不支持
Java 小程序Java 3 到 Java 8Java 5 到 Java 8不支持Java 3 到 Java 8
Java Oracle Forms不支持不支持不支持不支持

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

对于 Java 9 或更高版本

Starting with Java 9, the Java Extension Mechanism is removed, which means that the -Djava.ext.dirs argument can not be used on Java 9 and greater applications. As such, the following steps need to be performed:

  1. 在要安装适用于 Java 的 UiPath 扩展程序的计算机上创建一个新文件夹(如 C:\UiPathJavaExt),然后将以下文件复制到该文件夹:

    1. UiPathBridge.jarUiPathJavaServiceProvider.jar - 位于 %UserProfile%\.nuget\packages\uipath\20.xx.xxxx\build\UiPath\JavaSupport 目录中。
    2. UiPathJavaBridgeV8.dllUiPathJavaBridgeV8_x64.dll - 位于 %UserProfile%\.nuget\packages\uipath\20.xx.xxxx\build\UiPath 目录中。不一定要复制这两个文件,但这可以防止由于 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

应用程序扩展支持

通过参数,Java 9 以上版本的应用程序完全支持缩放。考虑将以下参数添加到要自动启用扩展支持的 Java 应用程序中:

  • sun.java2d.uiScale.enabled - 未使用或设置为精确的字符串值“true”时,将其视为 true,并考虑以下缩放配置。当设置为除“true”以外的任何其他值(例如 TruefalseFalseabc)时,则将其视为 false,并且不进行其他缩放比例调整。
  • sun.java2d.uiScale - 值可以 3 种形式传递:
    • 比率(0.5、2.3、1.5)
    • 百分比(100%、150%)
    • DPI 值(96dpi、120dpi)。考虑是否启用缩放。它修改两个轴上的缩放比例。
  • sun.java2d.win.uiScaleX, sun.java2d.win.uiScaleY 值可以像 sun.java2d.uiScale 参数一样传递。对于 Java 应用程序来说,它们都是必需的。它们比缩放的常规配置更具体。因此,如果设置了所有 3 个参数,则仅考虑这些参数。

此页面有帮助吗?

连接

需要帮助? 支持

想要了解详细内容? UiPath Academy

有问题? UiPath 论坛

保持更新