- 基本情報
- セットアップと構成
- オートメーション プロジェクト
- 依存関係
- ワークフローの種類
- 制御フロー
- ファイルの比較
- オートメーションのベスト プラクティス
- ソース管理との連携
- デバッグ
- ログ
- 診断ツール
- ワークフロー アナライザー
- ワークフロー アナライザーについて
- ST-DBP-002 - 多数の引数
- ST-DBP-003 - 空の catch ブロック
- ST-DBP-007 - 複数のフローチャートレイヤー
- ST-DPB-010 - [ワークフロー] または [テスト ケース] の複数のインスタンス
- ST-DBP-020 - 未定義の出力プロパティ
- ST-DBP-021 - ハードコードされたタイムアウト
- ST-DBP-023 - 空のワークフロー
- ST-DBP-024 - 永続性アクティビティの確認
- ST-DBP-025 - 変数のシリアル化の前提条件
- ST-DBP-027 - Persistence のベスト プラクティス
- ST-DBP-028 - 引数のシリアル化の前提条件
- ST-USG-005 - ハードコードされたアクティビティのプロパティ
- ST-USG-009 - 未使用の変数
- ST-USG-010 - 未使用の依存関係
- ST-USG-014 - パッケージの制限
- ST-USG-017 - パラメーターの修飾子が無効
- ST-USG-020 - 最小ログ メッセージ
- ST-USG-024 - 未使用で保存されたままの値
- ST-USG-025 - 保存した値の誤用
- ST-USG-026 - アクティビティの制限
- ST-USG-027 - 必要なパッケージ
- ST-USG-028 - ファイル テンプレートの呼び出しの制限
- ST-USG-027 - 必須のタグ
- ST-USG-034 - Automation Hub URL
- 変数
- 引数
- インポートされた名前空間
- コード化されたオートメーション
- トリガーベースの有人オートメーション
- オブジェクト リポジトリ
- ScreenScrapeJavaSupport ツール
- 拡張機能
- Studio でのテスト
- トラブルシューティング

Studio ガイド
Java 向け拡張機能
サポートされているバージョン
Java 拡張機能は、Java 3 から Java 24 までの任意のバージョンの JRE に対応しています。
Java アプリケーションでセレクターを指定または検証しようとすると、ロボットは拡張ファイルが対象のアプリケーション プロセスに読み込まれているかどうかを確認します。
拡張機能ファイルは、さまざまなメカニズムを使用して読み込まれます。
- 拡張機能メカニズムを介して JRE (Java 3 ~ 8 の場合) に拡張機能をインストールする。
- カスタム フォルダーから読み込む (Java 3 から 17 の場合、Java 9 以降では手順が異なります。)
拡張ファイルが存在しない場合は、インジェクション メカニズムを使用してブリッジの起動を試みます。
Studio (および ScreenScrapeJavaSupport ツール) に埋め込まれた Java 拡張機能インストーラーは、 拡張機能のメカニズム を利用して JRE により拡張機能が読み込まれるため、Java 3 から 8 で実行される Java ベースのアプリケーションの操作の自動化に使用できます。Java 9 以降、拡張機能のメカニズムは非推奨となりました。そのため、インストーラーは必要なファイルを JRE に追加できません。これらのファイルは、 カスタム フォルダー から読み込む必要があります (詳しくは 、こちらをご覧ください)。UI Automation パッケージのバージョン 22.2.0-preview より、既定の インジェクション メカニズムのサポートにより、Java ベースのアプリケーションを自動化するために Java 拡張機能のインストールが必須ではなくなりました。Java 拡張機能は、インジェクション メカニズムが機能しない場合、および Java アプリケーションが Java 3 から 8 を使用している場合にのみ、Studio またはコマンド ラインからインストールする必要があります。Java 9 以降を使用する Java アプリケーションの場合は、「 カスタム フォルダーに拡張機能をインストールする」に示す手順に従います。
インジェクション メカニズム
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 から
- 実行中の Java アプリケーションをすべて終了します。
- Studio を開きます。
- [ツール] > [UiPath 拡張機能] に移動します。
- [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 拡張機能のインストール場所をカスタマイズするには、以下の手順を実行します。
- UiPath Java 拡張機能をインストールするマシン上に新しいフォルダーを作成し (例:
C:\UiPathJavaExt)、そこに次のファイルをコピーします。UiPathBridge.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ディレクトリにあります。両方のファイルをコピーする必要はありませんが、両方コピーすることで、JRE と UiPath Java Bridge 間のバージョンの不適合によって発生する恐れのある問題を予防できます。
- UiPath が拡張機能をインストールするときに使用する Java 拡張機能セットアップ メカニズムでは、Java のインストール ディレクトリ (通常は
C:\Program Files (x86)\Java\jre1.8.0_xx) に、UiPathBridge.jarとaccessibility.propertiesファイルをデプロイします。カスタム フォルダーから UiPath Java 拡張機能を使用するには、次の手順に従い、これらのファイルの依存関係を緩める必要があります。UiPathBridge.jarファイルについては、拡張機能を使用する Java アプリケーションを開始する際に、UiPathBridge.jarおよびUiPathJavaBridgev8.dllファイルをコピーしたフォルダー (C:\UiPathJavaExtなど) を指定する必要があります。-Djava.ext.dirs = C:\UiPathJavaExt引数を使用して指定します。accessibility.propertiesファイルについては、次の 2 つの方法があります。%userprofile%ディレクトリにある、グローバル設定ファイルaccessibility.propertiesにassistive_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 アプレットに渡すには、次のいずれかの方法を使用します。
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 フォーム | サポートされません | サポートされません | サポートされません | サポートされません |
(1) - 使用するコマンド ライン ツールによっては、環境変数を介して他にもパラメーターを渡す必要が生じる場合があります。
Java 9 以降
Java 9 以降、Java 拡張機能のメカニズムは廃止されました。これは、Java 9 以降のアプリケーションでは、-Djava.ext.dirs 引数を使用できないことを意味します。
拡張機能を読み込むには、以下の 3 つの要件を満たす必要があります。
UiPathBridge.jarおよびUiPathServiceProvider.jarをアプリケーションのクラスパスに追加します。UiPathJavaBridgeV8.dllおよびUiPathJavaBridgeV8_x64.dllがUiPathBridge.jarに表示されるようにします。その方法は、以下のようにいくつかあります。- ファイルを
UiPathBridge.jarと同じフォルダーに配置 - ファイルを
UiPathBridge.jarが配置されているフォルダーより上のフォルダーに配置 - 2 つのファイルを同じフォルダーに追加して、そのパスを環境変数
UIPATH_JB_PATHを使用して参照
- ファイルを
両方のファイルを参照する必要はありませんが、JRE と UiPath Java Bridge のバージョンの不一致が原因で発生する可能性のある問題を防止できます。3. 支援技術を読み込むようにアプリケーションを構成します。これは、JRE 内に配置された accessibility.properties ファイルを介して行われます。
UiPathJavaServiceProvider.jar ファイルは、最新の UiPath.UIAutomation.Activities パッケージ (21.2-preview より新しいバージョン) で利用できます。古いバージョンの UI Automation パッケージを使用している場合は、空のワークフロー ファイルを 21.2-preview に一時的にアップグレードすれば、ファイルを取得できます。そうすると、新しいバージョンの UiPath.nuget パッケージがユーザーのマシン (%UserProfile%\.nuget\packages\uipath) に解凍されます。ファイルの取得後、パッケージのアップグレード前に使用していたバージョンにダウングレードできます。
上記の要件を満たせるかどうかは、Java アプリケーションの起動方法によって異なります。アプリケーションを起動して拡張機能を読み込むには、3 つの一般的な方法があります。
.jar、.bat、または .ps1 ファイルから起動されたアプリケーション
ここでは、java -jar SwingSet2.jar コマンドを使用して簡単な .jar ファイルから直接アプリを起動する方法について説明します。
以下の手順を実行する必要があります。
- 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ディレクトリにあります。
- 手順 1 で作成したフォルダーを対象の 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
アプリケーションが .bat ファイルまたは .ps1 ファイルを使用して起動される場合、ファイルをテキスト エディターで分析する必要があります。アプリケーションを起動するファイルには、コマンド java -jar SwingSet2.jar に似た行のほか、多くのパラメーターも含まれています。コマンドは変更可能であり、クラスパスにファイルを追加したり、支援技術のパラメーターを指定したりできます。なお、これらのファイル内の変更は慎重に行う必要があります。場合によっては、クラスパスと追加のパラメーターが環境変数から取得されることがあります。これは、より非侵略的な方法です。
.exe ファイルから起動アプリケーション
exe ファイルを使用してアプリを起動する場合は、別の方法でファイルをクラスパスに読み込み、支援技術のパラメーターを指定する必要があります。
- クラスパスからファイルを読み込むには、実行可能ファイルが読み込む環境変数や、依存関係の読み込み場所を指定する設定ファイルを検索します。その方法は 1 つだけではなく、実行可能ファイルのカスタマイズのレベルにより大きく異なってきます。
- この場合は、支援技術を拡張機能インストーラーと同様の方法で指定できます。標準の
accessibility.propertiesファイルを%UserProfile%フォルダーに移動して、名前を.accessbility.propertiesに変更できます。
.jnlp ファイルから起動アプリケーション
UI Automation v22.2 より、既存のインジェクション メカニズムがアップグレードされたため、.jnlp の種類のアプリケーションとの対話が既定で行われます。
アプリケーション スケーリングのサポート
パラメーターにより、Java 9 以降のアプリケーションでスケーリングが完全にサポートされます。スケーリングのサポートを有効化するために、自動化する Java アプリケーションに以下のパラメーターを追加することを検討してください。
sun.java2d.uiScale.enabled- 未使用の場合または「true」の正確な文字列値に設定されている場合は true と見なされ、以下のスケーリング設定が考慮されます。「true」以外の値 (True、false、False、abc など) に設定すると、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 つすべてのパラメーターが設定されている場合は、これらの値だけが考慮されます。