- リリース ノート
- 基本情報
- セットアップと構成
- オートメーション プロジェクト
- 依存関係
- ワークフローの種類
- 制御フロー
- ファイルの比較
- オートメーションのベスト プラクティス
- ソース管理との連携
- デバッグ
- ログ
- 診断ツール
- ワークフロー アナライザー
- ワークフロー アナライザーについて
- 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 - Hardcoded Activity Properties
- 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 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.
Java 9 以降、拡張機能のメカニズムは非推奨となりました。そのため、インストーラーは必要なファイルを JRE に追加できません。これらのファイルは、カスタム フォルダーから読み込む必要があります (詳しくは、こちらをご覧ください)。
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 以上で起動されるアプリケーションでは、カスタム フォルダーから拡張機能を読み込むという方法が主として使用されていました。
.jnlp アプリケーションなど、以前は自動化できなかったアプリケーションを自動化できるようになりました。
既定では、インジェクション メカニズムが使用され、Java 拡張機能のインストールはバックアップの方法としてのみ使用する必要があります。
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” />
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 -
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 以降
-Djava.ext.dirs 引数を使用できないことを意味します。
拡張機能を読み込むには、以下の 3 つの要件を満たす必要があります。
UiPathBridge.jarおよびUiPathServiceProvider.jarをアプリケーションのクラスパスに追加します。-
UiPathJavaBridgeV8.dllおよびUiPathJavaBridgeV8_x64がUiPathBrdige.jarに表示されるようにします。その方法は、以下のようにいくつかあります。- ファイルを
UiPathBridge.jarと同じフォルダーに配置 - ファイルを
UiPathBridge.jarが配置されているフォルダーより上のフォルダーに配置 -
2 つのファイルを同じフォルダーに追加して、そのパスを環境変数
UIPATH_JB_PATHを使用して参照両方のファイルを参照する必要はありませんが、両方参照することで、JRE と UiPath Java Bridge 間のバージョンの不適合によって発生する恐れのある問題を防ぐことができます。
- ファイルを
- 支援技術を読み込むアプリケーションを設定します。それには、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コマンドを使用して追加できます。この例では、対象の 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
.bat ファイルまたは .ps1 ファイルを使用して起動される場合、ファイルをテキスト エディターで分析する必要があります。アプリケーションを起動するファイルには、コマンド java -jar SwingSet2.jar に似た行のほか、多くのパラメーターも含まれています。コマンドは変更可能であり、クラスパスにファイルを追加したり、支援技術のパラメーターを指定したりできます。なお、これらのファイル内の変更は慎重に行う必要があります。場合によっては、クラスパスと追加のパラメーターが環境変数から取得されることがあります。これは、より非侵略的な方法です。
.exe ファイルから開始されるアプリケーション
exe ファイルを使用してアプリを起動する場合は、別の方法でファイルをクラスパスに読み込み、支援技術のパラメーターを指定する必要があります。
- クラスパスからファイルを読み込むには、実行可能ファイルが読み込む環境変数や、依存関係の読み込み場所を指定する設定ファイルを検索します。その方法は 1 つだけではなく、実行可能ファイルのカスタマイズのレベルにより大きく異なってきます。
- この場合は、支援技術を拡張機能インストーラーと同様の方法で指定できます。標準の
accessibility.propertiesファイルを%UserProfile%フォルダーに移動して、名前を.accessbility.propertiesに変更できます。
.jnlp ファイルから開始されるアプリケーション
.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 つすべてのパラメーターが設定されている場合は、これらの値だけが考慮されます。