- リリース ノート
- 基本情報
- セットアップと構成
- オートメーション プロジェクト
- 依存関係
- ワークフローの種類
- ファイルの比較
- オートメーションのベスト プラクティス
- ソース管理との連携
- デバッグ
- 診断ツール
- ワークフロー アナライザー
- 変数
- 引数
- インポートされた名前空間
- 制御フロー
- オブジェクト リポジトリ
- ログ
- ScreenScrapeJavaSupport ツール
- Studio でのテスト
- 拡張機能
- トラブルシューティング
サポートされるバージョン
現在、Java 拡張機能は、Java 3 から Java 15 までの、任意のバージョンの JRE に対応しています。
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 拡張機能をインストールします。
- まず、実行中の Java アプリケーションをすべて閉じます。Studio を起動して、Studio の Backstage ビューから [ツール] タブにアクセスします。インストールする拡張機能が表示されます。[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 アプリケーションを操作できます。
The UiPath Extension for Java can also be installed using the ScreenScrapeJavaSupport tool.
The Java Extension installer embedded in Studio (and also ScreenScrapeJavaSupport) is relying on the extension mechanism to have the extension loaded by the JRE. Starting with Java 9, the extension mechanism has been deprecated, and the installer is not able to add the necessary files to the JRE (more info here).
Therefore, if the java application is using a Java 9 or greater, then one should follow the steps described here.
カスタム フォルダーに拡張機能をインストールする
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 以降
Java 9 以降、Java 拡張機能のメカニズムは廃止されました。これは、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 つの一般的な方法があります。
Applications Started From .jar, .bat, or .ps1 Files
ここでは、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 に似た行のほか、多くのパラメーターも含まれています。コマンドは変更可能であり、クラスパスにファイルを追加したり、支援技術のパラメーターを指定したりできます。なお、これらのファイル内の変更は慎重に行う必要があります。場合によっては、クラスパスと追加のパラメーターが環境変数から取得されることがあります。これは、より非侵略的な方法です。
Applications Started From .exe Files
exe ファイルを使用してアプリを起動する場合は、別の方法でファイルをクラスパスに読み込み、支援技術のパラメーターを指定する必要があります。
- クラスパスからファイルを読み込むには、実行可能ファイルが読み込む環境変数や、依存関係の読み込み場所を指定する設定ファイルを検索します。その方法は 1 つだけではなく、実行可能ファイルのカスタマイズのレベルにより大きく異なってきます。
- この場合は、支援技術を拡張機能インストーラーと同様の方法で指定できます。標準の
accessibility.propertiesファイルを%UserProfile%フォルダーに移動して、名前を.accessbility.propertiesに変更できます。
Applications Started From .jnlp Files
.jnlp ファイルを使用してアプリケーションを起動する場合は、以下のことを考慮する必要があります。
UiPathBridge,jarおよびUiPathServiceProvider.jarを.jnlpファイルに依存関係として追加して読み込む必要があります。これにより、サーバーは既存のファイルを編集するのではなく、新しい.jnlpファイルを提供します。- 2 つの
.dllファイルは、.jnlpファイル内に読み込むことも、UIPATH_JB_PATH環境変数を使用して参照することもできます (手順については上記を参照)。 assistive_technologyプロパティを.jnlpファイルに追加することもできます。また、accessibility.propertiesファイルを%UserProfile%に配置することもできます。
アプリケーション スケーリングのサポート
パラメーターにより、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 つのパラメーターがすべて設定されている場合は、これらの値だけが考慮されます。