studio
2020.10
false
不在支持范围内
Studio 用户指南
Last updated 2023年12月20日

Java 版扩展程序

注意:对于使用 Java JDK 打开的 Java 9+ 应用程序,UiPath Java 扩展程序适用于 Windows 企业版和非企业版。对于使用 Java JRE 打开的应用程序,UiPath Java 扩展程序仅适用于 Windows 非企业版。阅读《Java 扩展程序故障排除指南》,了解更多信息。

通过 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 缩放如何。

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

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

对于 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_OPTIONS

JAVA_TOOL_OPTIONS

命令行参数

Java 控制面板 - 运行时参数

Java 桌面应用程序

Java 3 到 Java 8

Java 5 到 Java 8

Java 3 到 Java 8

不支持

Java 自含的应用程序 (.exe)

Java 3 到 Java 8

Java 5 到 Java 8

Java 3 到 Java 8 (1)

不支持

Java 小程序

Java 3 到 Java 8

Java 5 到 Java 8

不支持

Java 3 到 Java 8

Java Oracle Forms

不支持

不支持

不支持

不支持

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

对于 Java 9 或更高版本

从 Java 9 开始,将删除 Java 扩展程序机制,这意味着 -Djava.ext.dirs 参数不能用于 Java 9 和更高版本的应用程序。因此,需要执行以下步骤:
  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 个参数,则仅考虑这些参数。

此页面有帮助吗?

获取您需要的帮助
了解 RPA - 自动化课程
UiPath Community 论坛
Uipath Logo White
信任与安全
© 2005-2024 UiPath。保留所有权利。