- Release Notes
- Getting Started
- Setup and Configuration
- Automation Projects
- Dependencies
- Types of Workflows
- File Comparison
- Automation Best Practices
- Source Control Integration
- Debugging
- The Diagnostic Tool
- Workflow Analyzer
- About Workflow Analyzer
- ST-NMG-001 - Variables Naming Convention
- ST-NMG-002 - Arguments Naming Convention
- ST-NMG-004 - Display Name Duplication
- ST-NMG-005 - Variable Overrides Variable
- ST-NMG-006 - Variable Overrides Argument
- ST-NMG-008 - Variable Length Exceeded
- ST-NMG-009 - Prefix Datatable Variables
- ST-NMG-011 - Prefix Datatable Arguments
- ST-NMG-012 - Argument Default Values
- ST-NMG-016 - Argument Length Exceeded
- ST-DBP-002 - High Arguments Count
- ST-DBP-003 - Empty Catch Block
- ST-DBP-007 - Multiple Flowchart Layers
- ST-DBP-020 - Undefined Output Properties
- ST-DBP-023 - Empty Workflow
- ST-DBP-024 - Persistence Activity Check
- ST-DBP-025 - Variables Serialization Prerequisite
- ST-DBP-026 - Delay Activity Usage
- ST-DBP-027 - Persistence Best Practice
- ST-DBP-028 - Arguments Serialization Prerequisite
- Variables
- Arguments
- Imported Namespaces
- Control Flow
- Object Repository
- Logging
- The ScaleCoordinates Migration Tool
- The ScreenScrapeJavaSupport Tool
- StudioPro
- Extensions
- Troubleshooting

Studio User Guide
The UiPath Extension for Java is installed by doing the following:
- First, close any running Java applications. Launch Studio and access the Tools tab from the Studio Backstage view. The extensions you can install become visible. Click the Java Extensions button. A confirmation message appears, informing you that the extension has been installed.
- Run this command
C:\Program Files (x86)\UiPath\Studio\UiPath\SetupExtensions.exe /Javain a command prompt window with administrator rights.
Studio and UI Explorer also ask to install the UiPath Extension for Java when you try to select a control inside a Java app and when the bridge is not detected. Please note that if you choose to install the UiPath Extension for Java when prompted by UI Explorer the Java Bridge files get deployed only in the JRE directory which launched the target Java application instead of the JDK directory.
To check if the extension is not working properly, open UIExplorer and try to select controls inside a Java app. If the entire window is selected, it means that the extension is not working properly.
You can tell whether or not the extension is properly installed by the generated selectors for Java controls.
- Valid Selector for Java Controls:
<wnd app=”...” /><java role=”...” /> - Invlaid Selector for Java Controls:
<wnd app=”...” /><ctrl role=”client” />
cls attribute (window class name) in UI Explorer. The class name should be similar to SunAwtFrame or javax.swing.
Processes can interact with Java applications regardless of their DPI scaling.
The UiPath Extension for Java can also be installed using the ScreenScrapeJavaSupport tool.
For Java 8 or Lower
In order to have the UiPath Extension for Java installed in a custom location, the following steps need to be performed:
- Create a new folder on your machine in which you wish to install the UiPath Extension for Java (such as
C:\UiPathJavaExt) and copy the following files to it:UiPathBridge.jar- located in the%UserProfile%\.nuget\packages\uipath\20.xx.xxxx\build\UiPath\JavaSupportdirectory.UiPathJavaBridgeV8.dllandUiPathJavaBridgeV8_x64.dlllocated in the%UserProfile%\.nuget\packages\uipath\20.xx.xxxx\build\UiPathdirectory. It is not necessary to copy both files, but it can prevent issues which can occur due to version mismatch between the JRE and the UiPathJavaBridge.
- The Java Extension Setup mechanism used by UiPath to install the extension deploys the
UiPathBridge.jarandaccessibility.propertiesfiles in the Java installation directory (usuallyC:\Program Files (x86)\Java\jre1.8.0_xx). To use the UiPath Extension for Java from a custom folder, the dependency for these files must be loosened, as follows:- For the
UiPathBridge.jarfile, you need to specify the folder in which you copied theUiPathBridge.jarandUiPathJavaBridgev8.dll(such asC:\UiPathJavaExt) when you start the Java application which uses the extension. This is done through the-Djava.ext.dirs = C:\UiPathJavaExtargument. - For the
accessibility.propertiesfile, there are two methods:- Add the
assistive_technologies=UiPath.UiPathBridgeparameter to theaccessibility.propertiesglobal configuration file located in the%userprofile%directory. Please note that this file is different from the one deployed by the UiPath Extension for Java, and its settings have precedence over the ones set by the Java installation. - Use the
-Djavax.accessibility.assistive_technologies=UiPath.UiPathBridgeargument when you run the target Java application.
- Add the
- For the
System properties need to be properly passed to the target Java application. This can be done through several methods:
- Include the
-Djava.ext.dirs=C:\UiPathJavaExt -Djavax.accessibility.assistive_technologies=UiPath.UiPathBridgesystem property in the_JAVA_OPTIONSenvironment variable. The JRE loads the properties from the environment variable and the UiPath Extension for Java loaded in the target application. - Use the
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.jarcommand inside command prompt. A confirmation message appears that the UiPath Extension for Java is successfully loaded. - Include the
-Djava.ext.dirs=C:\UiPathJavaExt -Djavax.accessibility.assistive_technologies=UiPath.UiPathBridgesystem property in theJAVA_TOOL_OPTIONSenvironment variable. Please note that this method only works with Java 5 or greater.
Passing the properties to a Java applet is done with one of the following methods:
- Using the
appletviewer.exeapplication.This method requires you to first create the.java.policyfile in the%userprofile%folder, and should contain the following:grant { permission java.net.URLPermission "url_of_the_Java_applet", "<em>:</em>"; };grant { permission java.net.URLPermission "url_of_the_Java_applet", "<em>:</em>"; };Once this is done, the target applet needs to be started viaappletviewer.exewith this command: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 - Using the Java Control Panel which is delivered
with the JRE.
The Java Control Panel allows you to specify the runtime parameters for each registered JRE. As such, you need to specify the
-Djava.ext.dirs=C:\UiPathJavaExt -Djavax.accessibility.assistive_technologies=UiPath.UiPathBridgeparameter for the target applet. This makes the UiPath Extension for Java load every time the Java applet starts.
The table below present the compatibility between the methods used above, Java versions, and different types of Java applications:
|
Application Type |
_JAVA_OPTIONS |
JAVA_TOOL_OPTIONS |
Command Line Parameters |
Java Control Panel - Runtime Parameters |
|---|---|---|---|---|
|
Java Desktop Application |
Java 3 to Java 8 |
Java 5 to Java 8 |
Java 3 to Java 8 |
Not Supported |
|
Java Contained Application (
.exe)
|
Java 3 to Java 8 |
Java 5 to Java 8 |
Java 3 to Java 8 (
1)
|
Not Supported |
|
Java Applet |
Java 3 to Java 8 |
Java 5 to Java 8 |
Not Supported |
Java 3 to Java 8 |
|
Java Oracle Forms |
Not Supported |
Not Supported |
Not Supported |
Not Supported |
1) - Depending on the command line tool you use, additional parameters might need to be passed through the environment variables.
For Java 9 or Greater
-Djava.ext.dirs argument can not be used on Java 9 and greater applications. As such, the following steps need to be performed:
- Create a new folder on your machine in which you wish to install the UiPath Extension for Java (such as
C:\UiPathJavaExt) and copy the following files to it:UiPathBridge.jarandUiPathJavaServiceProvider.jar- located in the%UserProfile%\.nuget\packages\uipath\20.xx.xxxx\build\UiPath\JavaSupportdirectory.UiPathJavaBridgeV8.dllandUiPathJavaBridgeV8_x64.dlllocated in the%UserProfile%\.nuget\packages\uipath\20.xx.xxxx\build\UiPathdirectory. It is not necessary to copy both files, but it can prevent issues which can occur due to version mismatch between the JRE and the UiPath Java Bridge.
- Add the previously created folder to the class path of the target Java application. This is done with the
-cp, -classpathcommand. For the sake of our example, we consider SwingSet2 the target Java application:C:\Program Files (x86)\Java\jre1.9.0_xx \bin\java.exe -cp SwingSet2.jar;C:\UiPathJavaExt\* -Djavax.accessibility.assistive_technologies=UiPathJavaServiceProvider SwingSet2
Scaling is fully supported for Java 9+ applications via parameters. Consider adding the following parameters to the Java application you want to automate to enable scaling support:
sun.java2d.uiScale.enabled- When unused or set to the exact string value of "true", it is considered true and the following scaling configuration is taken into account. When set to any other value, but "true", (such as True, false, False, abc) then it is considered false and no additional scaling adjustments are made.-
sun.java2d.uiScale- Values can be passed in 3 forms:- As ratio (0.5, 2.3, 1.5)
- As percentages (100%, 150%)
- As dpi values (96dpi, 120dpi). It is considered if scaling is enabled. It modifies scaling on both axis.
sun.java2d.win.uiScaleX, sun.java2d.win.uiScaleYValues can be passed as for thesun.java2d.uiScaleparameter. Both of them are necessary in order to be considered by the Java application. They are more specific than the general configuration of scaling As such, if all 3 parameters are set, only these are taken into account.