UiPath Documentation
studio
2024.10
false
Studio ガイド
重要 :
このコンテンツの一部は機械翻訳によって処理されており、完全な翻訳を保証するものではありません。 新しいコンテンツの翻訳は、およそ 1 ~ 2 週間で公開されます。

Java 向け拡張機能

Java 3 から Java 24 までの JRE バージョンに対応した Java アプリケーションでセレクターを生成できるようにするには、UiPath Java 拡張機能をインストールします。

サポートされているバージョン

Java 拡張機能は、Java 3 から Java 24 までの任意のバージョンの JRE に対応しています。

Java アプリケーションでセレクターを指定または検証しようとすると、ロボットは拡張ファイルが対象のアプリケーション プロセスに読み込まれているかどうかを確認します。

拡張機能ファイルは、さまざまなメカニズムを使用して読み込まれます。

  • 拡張機能メカニズムを介して JRE (Java 3 ~ 8 の場合) に拡張機能をインストールする。
  • カスタム フォルダーから読み込む (Java 3 から 17 の場合、Java 9 以降では手順が異なります。)

拡張ファイルが存在しない場合は、インジェクション メカニズムを使用してブリッジの起動を試みます。

注:

The Java Extension installer embedded in Studio (and also the ScreenScrapeJavaSupport tool) relies on the extension mechanism to have the extension loaded by the JRE, so it can be used for automating Java-based applications running with Java 3 to 8. Starting with Java 9, the extension mechanism has been deprecated and the installer is not able to add the necessary files to the JRE. These files must be loaded from a custom folder (more info here).

Starting with UIAutomation package version 22.2.0-preview, with the support of the default injection mechanism, it is no longer mandatory to install the Extension for Java for automating Java-based applications. You should install the Java extension from Studio or the command line only when the injection mechanism does not work, and when Java applications are using Java 3 to 8. For Java applications using Java 9 or greater, follow the steps described in Installing the extension in a custom folder.

インジェクション メカニズム

UiPath.UIAutomation.Activities バージョン 22.2.0-preview までは、すべてのケースでインジェクション メカニズムが機能しませんでした。 Java 9 以上で起動されるアプリケーションでは、カスタム フォルダーから拡張機能を読み込むという方法が主として使用されていました。

UiPath.UIAutomation.Activities バージョン 22.2.0-preview より、インジェクション メカニズムの信頼性が向上し、OWS や IcedTea-Web などのサードパーティ アプリケーションで起動される .jnlp アプリケーションなど、以前は自動化できなかったアプリケーションを自動化できるようになりました。

既定では、インジェクション メカニズムが使用され、Java 拡張機能のインストールはバックアップの方法としてのみ使用する必要があります。

Studio またはコマンド ラインから JRE に拡張機能をインストールする

Java 8 以前

次の手順で UiPath Java 拡張機能をインストールします。

Studio から
  1. 実行中の Java アプリケーションをすべて終了します。
  2. Studio を開きます。
  3. [ツール] > [UiPath 拡張機能] に移動します。
  4. [Java] > [インストール] を選択します。拡張機能がインストールされたことを示す確認メッセージが表示されます。
コマンド ラインから

管理者権限にて、コマンド プロンプト ウィンドウで C:\Program Files\UiPath\Studio\UiPath\SetupExtensions.exe /Java コマンドを実行します。

Studio と UI Explorer は、Java アプリ内でコントロールを選択しようとしたときにブリッジが検出されないと UiPath Java 拡張機能をインストールするように要求します。UI Explorer によってプロンプトが表示されたときに UiPath 拡張機能をインストールすることを選択すると、Java Bridge ファイルは JDK ディレクトリではなく対象の Java アプリケーションを起動した JRE ディレクトリにのみデプロイされます。

注:

この拡張機能をインストールするには、管理者権限が必要です。

拡張機能が正しく動作していないかどうかを確認するには、UI Explorer を開き、Java アプリケーション内のコントロールを選択してください。ウィンドウ全体が選択されている場合は、拡張機能が正しく機能していないことを意味しています。

Java コントロール向けに生成されたセレクターによって、拡張機能が適切にインストールされているかどうかを確認できます。

  • Java コントロールの有効なセレクター: <wnd app=”...” /><java role=”...” />

  • Java コントロールの無効なセレクター: <wnd app=”...” /><ctrl role=”client” />

    注:

    UiPath Java 拡張機能は、AWT アプリ (Java Swing、Oracle Forms、Fujitsu JBK など) にのみ対応しており、SWT アプリは、Active Accessibility で自動化されます。Java アプリケーションの種類を検出するには、UI Explorer の cls 属性 (ウィンドウ クラス名) を確認します。クラス名は、SunAwtFrame または javax.swing のようになっているはずです。

    プロセスは、その DPI スケーリングに関係なく、Java アプリケーションを操作できます。

UiPath Java 拡張機能は、 ScreenScrapeJavaSupport ツールを使用してインストールすることもできます。

Java 9 以降

次のセクションで説明するように、カスタム フォルダーへのインストールを使用します。

カスタム フォルダーに拡張機能をインストールする

Java 8 以前

UiPath Java 拡張機能のインストール場所をカスタマイズするには、以下の手順を実行します。

  1. UiPath Java 拡張機能をインストールするマシン上に新しいフォルダーを作成し (例: C:\UiPathJavaExt)、そこに次のファイルをコピーします。

    1. UiPathBridge.jar - %UserProfile%\.nuget\packages\uipath\20.xx.xxxx\build\UiPath\JavaSupport ディレクトリにあります。
    2. UiPathJavaBridgeV8.dll および UiPathJavaBridgeV8_x64.dll%UserProfile%\.nuget\packages\uipath\20.xx.xxxx\build\UiPath ディレクトリにあります。両方のファイルをコピーする必要はありませんが、両方コピーすることで、JRE と UiPath Java Bridge 間のバージョンの不適合によって発生する恐れのある問題を予防できます。
  2. UiPath が拡張機能をインストールするときに使用する Java 拡張機能セットアップ メカニズムでは、Java のインストール ディレクトリ (通常は C:\Program Files (x86)\Java\jre1.8.0_xx) に、UiPathBridge.jaraccessibility.properties ファイルをデプロイします。カスタム フォルダーから UiPath Java 拡張機能を使用するには、次の手順に従い、これらのファイルの依存関係を緩める必要があります。

    1. UiPathBridge.jar ファイルについては、拡張機能を使用する Java アプリケーションを開始する際に、UiPathBridge.jar および UiPathJavaBridgev8.dll ファイルをコピーしたフォルダー (C:\UiPathJavaExt など) を指定する必要があります。-Djava.ext.dirs = C:\UiPathJavaExt 引数を使用して指定します。

    2. accessibility.properties ファイルについては、次の 2 つの方法があります。

      • %userprofile% ディレクトリにある、グローバル設定ファイル accessibility.propertiesassistive_technologies=UiPath.UiPathBridge パラメーターを追加します。このファイルは、UiPath Java 拡張機能によってデプロイされるものとは異なり、その設定は Java のインストールによる設定よりも優先されることに注意してください。
      • 対象の Java アプリケーションを実行するときに、引数 -Djavax.accessibility.assistive_technologies=UiPath.UiPathBridge を使用します。

システム プロパティを適切に対象の Java アプリケーションに渡す必要があります。それには、いくつかの方法があります。

  • _JAVA_OPTIONS 環境変数に、-Djava.ext.dirs=C:\UiPathJavaExt -Djavax.accessibility.assistive_technologies=UiPath.UiPathBridge システム プロパティを含めます。JRE が環境変数のプロパティ、および対象のアプリケーションに読み込まれた UiPath Java 拡張機能のプロパティを読み込みます。
  • コマンド プロンプトで 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 コマンドを使用します。UiPath Java 拡張機能が正常に読み込まれたことを確認するメッセージが表示されます。
  • 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 フォームサポートされませんサポートされませんサポートされませんサポートされません

(1) - 使用するコマンド ライン ツールによっては、環境変数を介して他にもパラメーターを渡す必要が生じる場合があります。

Java 9 以降

Java 9 以降、Java 拡張機能のメカニズムは廃止されました。これは、Java 9 以降のアプリケーションでは、-Djava.ext.dirs 引数を使用できないことを意味します。

拡張機能を読み込むには、以下の 3 つの要件を満たす必要があります。

  1. UiPathBridge.jar および UiPathServiceProvider.jar をアプリケーションのクラスパスに追加します。

  2. UiPathJavaBridgeV8.dll および UiPathJavaBridgeV8_x64.dllUiPathBridge.jar に表示されるようにします。その方法は、以下のようにいくつかあります。

    • ファイルを UiPathBridge.jar と同じフォルダーに配置
    • ファイルを UiPathBridge.jar が配置されているフォルダーより上のフォルダーに配置
    • 2 つのファイルを同じフォルダーに追加して、そのパスを環境変数 UIPATH_JB_PATH を使用して参照

両方のファイルを参照する必要はありませんが、JRE と UiPath Java Bridge のバージョンの不一致が原因で発生する可能性のある問題を防止できます。3. 支援技術を読み込むようにアプリケーションを構成します。これは、JRE 内に配置された accessibility.properties ファイルを介して行われます。

  :::note
  The `UiPathJavaServiceProvider.jar` file is available in the latest UiPath.UIAutomation.Activities packages (newer than 21.2-preview). If you are using a lower version of UIAutomation, the file can be obtained by temporarily upgrading an empty workflow file to 21.2-preview. This causes unpacking a newer version of the `UiPath.nuget` package to the user machine (`%UserProfile%\.nuget\packages\uipath`). After getting the file, the package can be downgraded to the version used before the upgrade.
  :::
  :::note
  The `UiPathJavaServiceProvider.jar` file is available in the latest UiPath.UIAutomation.Activities packages (newer than 21.2-preview). If you are using a lower version of UIAutomation, the file can be obtained by temporarily upgrading an empty workflow file to 21.2-preview. This causes unpacking a newer version of the `UiPath.nuget` package to the user machine (`%UserProfile%\.nuget\packages\uipath`). After getting the file, the package can be downgraded to the version used before the upgrade.
  :::

上記の要件を満たせるかどうかは、Java アプリケーションの起動方法によって異なります。アプリケーションを起動して拡張機能を読み込むには、3 つの一般的な方法があります。

.jar.bat、または .ps1 ファイルから起動されたアプリケーション

ここでは、java -jar SwingSet2.jar コマンドを使用して簡単な .jar ファイルから直接アプリを起動する方法について説明します。

以下の手順を実行する必要があります。

  1. UiPath Java 拡張機能をインストールするマシン上に新しいフォルダーを作成し (例: C:\UiPathJavaExt)、そこに次のファイルをコピーします。
    • UiPathBridge.jar および UiPathJavaServiceProvider.jar - %UserProfile%\.nuget\packages\uipath\20.xx.xxxx\build\UiPath\JavaSupport ディレクトリにあります。
    • UiPathJavaBridgeV8.dll および UiPathJavaBridgeV8_x64.dll - %UserProfile%\.nuget\packages\uipath\20.xx.xxxx\build\UiPath ディレクトリにあります。
  2. 手順 1 で作成したフォルダーを対象の Java アプリケーションのクラス パスに追加します。-cp, -classpath コマンドを使用して追加できます。この例では、対象の Java アプリケーションが SwingSet2 であるとします。

C:\Program Files (x86)\Java\jre1.9.0_xx \bin\java.exe -cp SwingSet2.jar;C:\UiPathJavaExt* -Djavax.accessibility.assistive_technologies=UiPathJavaServiceProvider SwingSet2

If the application is started via a .bat or a .ps1 file, then the file must be analyzed with a text editor. The file that starts the application contains a line similar to the command java -jar SwingSet2.jar, but also includes many other parameters. The command can be changed to include the files in the classpath and to specify the assistive technology parameter.

Changes inside those files should be done with caution. In some cases, the classpath and the additional parameters are picked from environment variables, which is a less invasive method.

.exe ファイルから起動アプリケーション

exe ファイルを使用してアプリを起動する場合は、別の方法でファイルをクラスパスに読み込み、支援技術のパラメーターを指定する必要があります。

  1. クラスパスからファイルを読み込むには、実行可能ファイルが読み込む環境変数や、依存関係の読み込み場所を指定する設定ファイルを検索します。その方法は 1 つだけではなく、実行可能ファイルのカスタマイズのレベルにより大きく異なってきます。
  2. この場合は、支援技術を拡張機能インストーラーと同様の方法で指定できます。標準の accessibility.properties ファイルを %UserProfile% フォルダーに移動して、名前を .accessbility.properties に変更できます。
.jnlp ファイルから起動アプリケーション

UI Automation v22.2 より、既存のインジェクション メカニズムがアップグレードされたため、.jnlp の種類のアプリケーションとの対話が既定で行われます。

アプリケーション スケーリングのサポート

パラメーターにより、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 アカデミー

質問する UiPath フォーラム

最新情報を取得