Studio
2021.10
False
Image de fond de la bannière
Guide de l’utilisateur de Studio
Dernière mise à jour 3 avr. 2024

Extension pour Java

Versions prises en charge

Actuellement, l'extension Java est compatible avec toutes les versions de JRE, de Java 3 à Java 15.

Remarque : pour Java 9+, l'extension UiPath pour Java fonctionne sur les éditions Windows Enterprise et non Enterprise avec des applications ouvertes avec Java JDK. Pour les applications ouvertes avec Java JRE, l'extension UiPath pour Java ne fonctionne que sur les éditions Windows non-Enterprise. Pour en savoir plus, consultez le guide de résolution des problèmes de l'extension Java.

De Studio et de la ligne de commande

L'extension UiPath pour Java est installée en procédant comme suit :

  1. D'abord, fermez les applications Java en cours. Lancez Studio et accédez à l'onglet Outils (Tools) depuis le Mode Backstage de Studio (Studio Backstage View). Les extensions que vous pouvez installer s'affichent. Cliquez sur le bouton Extensions Java (Java Extensions). Un message de confirmation s'affiche et vous informe que l'extension a été installée.
  2. Exécutez cette commande C:\Program Files\UiPath\Studio\UiPath\SetupExtensions.exe /Java dans une fenêtre d'invite de commande avec des droits d'administrateur.

Studio et UI Explorer vous demandent également d'installer l'extension UiPath pour Java si vous tentez de sélectionner un contrôle dans une application Java, et lorsque le pont n'est pas détecté. Remarque : si vous choisissez d'installer l'extension UiPath pour Java à l'invite d'UI Explorer, les fichiers Java Bridge ne seront déployés que dans le répertoire JDK, qui a lancé l'application Java cible au lieu du répertoire JDK.

Remarque : il est nécessaire de disposer de droits d'administrateur pour installer cette extension.

Pour vérifier si l'extension présente des dysfonctionnements, ouvrez UIExplorer et essayez de sélectionner les contrôles dans une application Java. Si la fenêtre entière est sélectionnée, cela signifie que l'extension ne fonctionne pas correctement.

Vous pouvez savoir si l'extension est correctement installée ou non par les sélecteurs générés pour les contrôles Java.
  • Sélecteur non valide pour les contrôles Java : <wnd app=”...” /><java role=”...” />
  • Sélecteur non valide pour les contrôles Java : <wnd app=”...” /><ctrl role=”client” />
Remarque : l'extension UiPath pour Java n'est compatible qu'avec les applications AWT (par ex. Java Swing, Oracle Forms, Fujitsu JBK), tandis que les applications SWT sont automatisées avec Active Accessibility. Pour détecter le type de votre application Java, vérifiez l'attribut cls (nom de la classe de fenêtre) dans UI Explorer. Le nom de la classe doit être similaire à SunAwtFrame ou javax.swing.

Les processus peuvent interagir avec les applications Java quelle que soit leur échelle DPI.

Vous pouvez également installer l'extension UiPath pour Java à l'aide de l'outil ScreenScrapeJavaSupport.

Important :

Le programme d'installation de l'extension Java intégré dans Studio (ainsi que ScreenScrapeJavaSupport) s'appuie sur le mécanisme d'extension pour que l'extension soit chargée par le JRE. Depuis Java 9, le mécanisme d'extension est déprécié et le programme d'installation n'est pas en mesure d'ajouter les fichiers nécessaires au JRE (plus d'informations ici).

Par conséquent, si l'application Java utilise Java 9 ou supérieur, il convient de suivre les étapes décrites ici.

Installation de l'extension dans un dossier personnalisé

Pour Java 8 ou version antérieure

Pour que l'extension UiPath pour Java soit installée dans un emplacement personnalisé, les étapes suivantes doivent être suivies :

  1. Créez un dossier sur la machine sur laquelle vous souhaitez installer l'extension UiPath pour Java (par exemple, C:\UiPathJavaExt) et copiez les fichiers suivants :
    1. UiPathBridge.jar - situé dans le répertoire %UserProfile%\.nuget\packages\uipath\20.xx.xxxx\build\UiPath\JavaSupport.
    2. UiPathJavaBridgeV8.dll et UiPathJavaBridgeV8_x64.dll situés dans le répertoire %UserProfile%\.nuget\packages\uipath\20.xx.xxxx\build\UiPath. Il n'est pas nécessaire de copier les deux fichiers, mais cela peut éviter les problèmes qui peuvent survenir en raison d'une mauvaise concordance des versions entre le JRE et le UiPathJavaBridge.
  2. Le mécanisme d’installation de l’extension Java utilisé par UiPath pour installer l’extension déploie les fichiers UiPathBridge.jar et accessibility.properties dans le répertoire d’installation Java (généralement C:\Program Files (x86)\Java\jre1.8.0_xx). Pour que l’extension UiPath pour Java puisse être utilisée depuis un dossier personnalisé, la dépendance de ces fichiers doit être assouplie, comme suit :
    1. Pour le fichier UiPathBridge.jar, vous devez spécifier le dossier dans lequel vous avez copié UiPathBridge.jar et UiPathJavaBridgev8.dll (tel que C:\UiPathJavaExt) lorsque vous démarrez l'application Java qui utilise l'extension. Cela se fait via l’argument -Djava.ext.dirs = C:\UiPathJavaExt.
    2. Pour le fichier accessibility.properties, il existe deux méthodes :
      • Ajouter le paramètre assistive_technologies=UiPath.UiPathBridge au fichier de configuration globale accessibility.properties situé dans le répertoire %userprofile%. Notez que ce fichier est différent de celui déployé par l'extension UiPath pour Java, et que ses paramètres ont la priorité sur ceux définis par l'installation de Java.
      • Utiliser l'argument -Djavax.accessibility.assistive_technologies=UiPath.UiPathBridge lorsque vous exécutez l'application Java cible.

Les propriétés du système doivent être correctement transmises à l'application Java cible par l'un des moyens suivants :

  • Inclure la propriété système -Djava.ext.dirs=C:\UiPathJavaExt -Djavax.accessibility.assistive_technologies=UiPath.UiPathBridge dans la variable d'environnement _JAVA_OPTIONS. Le JRE charge les propriétés de la variable d'environnement ainsi que l'extension UiPath pour Java chargée dans l'application cible.
  • Utiliser la commande 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 dans l'invite de commande. Un message de confirmation apparaît indiquant que l'extension UiPath pour Java a été chargée avec succès.
  • Inclure la propriété du système -Djava.ext.dirs=C:\UiPathJavaExt -Djavax.accessibility.assistive_technologies=UiPath.UiPathBridge dans la variable d'environnement JAVA_TOOL_OPTIONS. Notez que cette méthode ne fonctionne qu'avec Java 5 ou supérieur.

La transmission des propriétés à une applet Java se fait par l'un des moyens suivants :

  1. À l'aide de l’application appletviewer.exe.
    Cette méthode vous oblige à d’abord créer le fichier .java.policy dans le dossier %userprofile% et doit contenir les éléments suivants :
    grant { 
        permission java.net.URLPermission "url_of_the_Java_applet", "<em>:</em>"; 
    };grant { 
        permission java.net.URLPermission "url_of_the_Java_applet", "<em>:</em>"; 
    };
    Une fois cette opération effectuée, l'applet cible doit être démarrée via appletviewer.exe avec cette commande :

    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. À l'aide du panneau de contrôle Java livré avec le JRE.

    Le panneau de configuration Java vous permet de spécifier les paramètres d'exécution de chaque JRE enregistré. En tant que tel, vous devez spécifier le

    -Djava.ext.dirs=C:\UiPathJavaExt -Djavax.accessibility.assistive_technologies=UiPath.UiPathBridge

    paramètre de l'applet cible. Cela permet à l'extension UiPath pour Java de se charger à chaque démarrage de l'applet Java.

Le tableau ci-dessous présente la compatibilité des méthodes utilisées ci-dessus, les versions Java et les différents types d'applications Java :

Type de demande (Application Type)

_JAVA_OPTIONS

JAVA_TOOL_OPTIONS

Paramètres de la ligne de commande

Panneau de configuration Java - Paramètres d'exécution (Java Control Panel - Runtime Parameters)

Application Java Desktop

Java 3 à Java 8

Java 5 à Java 8

Java 3 à Java 8

Non soutenu

Application contenue dans Java (.exe)

Java 3 à Java 8

Java 5 à Java 8

Java 3 à Java 8 (1)

Non soutenu

Java Applet

Java 3 à Java 8

Java 5 à Java 8

Non soutenu

Java 3 à Java 8

Java Oracle Forms

Non soutenu

Non soutenu

Non soutenu

Non soutenu

(1) – selon l'outil de ligne de commande que vous utilisez, des paramètres supplémentaires peuvent devoir être passés par les variables d'environnement.

Pour Java 9 ou version ultérieure

À partir de Java 9, le mécanisme d'extension de Java est supprimé, ce qui signifie que l'argument -Djava.ext.dirs ne peut pas être utilisé sur les applications Java 9 et versions supérieures.

L'idée principale derrière le chargement de l'extension peut être divisée en 3 exigences :

  1. Ajoutez le UiPathBridge.jar et le UiPathServiceProvider.jar au chemin de classe de l'application.
  2. Rendez UiPathJavaBridgeV8.dll et UiPathJavaBridgeV8_x64 visibles pour UiPathBrdige.jar. Cela peut être fait de différentes façons :
    • placez les fichiers dans le même dossier avec UiPathBridge.jar ;
    • placez les fichiers dans le dossier situé au-dessus de UiPathBridge.jar ;
    • ajoutez les deux fichiers à un dossier et référencez son chemin via une variable d'environnement appelée UIPATH_JB_PATH ;

      Il n'est pas nécessaire de référencer les deux fichiers, mais cela peut prévenir les problèmes qui peuvent survenir en raison d'une mauvaise concordance de versions entre le JRE et le pont Java UiPath.

  3. Configurez l'application pour charger la technologie d'assistance. Cela se fait via le fichier accessibility.properties placé à l'intérieur des JRE.
    Remarque : le fichier UiPathJavaServiceProvider.jar est disponible dans les derniers packages UiPath.UIAutomation.Activities (plus récents que 21.2-preview). Si vous utilisez une version antérieure de UIAutomation, le fichier peut être obtenu en mettant temporairement à niveau un fichier de workflow vide vers 21.2-preview. Cela entraîne la décompression d'une version plus récente du package UiPath.nuget sur la machine de l'utilisateur (%UserProfile%\.nuget\packages\uipath). Après avoir obtenu le fichier, le package peut être rétrogradé vers la version utilisée avant la mise à niveau.

Le respect des exigences listées ci-dessus dépend directement de la manière dont l'application Java est démarrée. Il existe 3 manières courantes de démarrer l'application et de charger l'extension.

Applications démarrées à partir de .jar, .bat ou de fichiers .ps1

Considérons le cas simple où l'application est lancée directement à partir de simples fichiers .jar : java -jar SwingSet2.jar

Les étapes suivantes doivent être suivies :

  1. Créez un dossier sur la machine sur laquelle vous souhaitez installer l'extension UiPath pour Java (par exemple, C:\UiPathJavaExt) et copiez les fichiers suivants :
    • UiPathBridge.jar et UiPathJavaServiceProvider.jar - situés dans le répertoire %UserProfile%\.nuget\packages\uipath\20.xx.xxxx\build\UiPath\JavaSupport.
    • UiPathJavaBridgeV8.dll et UiPathJavaBridgeV8_x64.dll - situés dans le répertoire %UserProfile%\.nuget\packages\uipath\20.xx.xxxx\build\UiPath.
  2. Ajouter le dossier créé précédemment au chemin de classe de l'application Java cible. Cette opération se réalise à l'aide de la commande -cp, -classpath. Pour cet exemple, nous considérons SwingSet2 l'application Java cible :

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

Si l'application est lancée via un fichier .bat ou .ps1, alors le fichier doit être analysé avec un éditeur de texte. Le fichier qui démarre l'application contient une ligne similaire à la commande java -jar SwingSet2.jar, mais comprend également de nombreux autres paramètres. La commande peut être modifiée pour inclure les fichiers dans le chemin de classe et pour spécifier le paramètre de technologie d'assistance. Les modifications à l'intérieur de ces fichiers doivent être effectuées avec prudence. Dans certains cas, le chemin de classe et les paramètres supplémentaires sont choisis à partir de variables d'environnement, ce qui est une méthode moins invasive.

Applications démarrées à partir de fichiers .exe

Lorsque l'application est lancée via un fichier .exe, vous devez trouver un autre moyen de charger les fichiers dans le chemin de classe et de spécifier le paramètre de technologie d'assistance.
  1. Pour charger les fichiers à partir du chemin de classe, vous pouvez rechercher des variables d'environnement que l'exécutable lit ou des fichiers de configuration qui spécifient où les dépendances sont chargées. Il n'y a rien de standard ici, et cela dépend beaucoup du niveau de personnalisation de l'exécutable.
  2. La technologie d'assistance peut être spécifiée dans ce cas d'une manière similaire à celle utilisée par l'installateur de l'extension. Le fichier accessibility.properties standard peut être déplacé vers le dossier %UserProfile% et être renommé .accessbility.properties.

Applications démarrées à partir de fichiers .jnlp

Lorsque l'application est lancée via un fichier .jnlp, les éléments suivants doivent être pris en compte :
  1. Le chargement de UiPathBridge,jar et UiPathServiceProvider.jar doit être effectué en les ajoutant comme dépendances au fichier .jnlp. Cela détermine le serveur à fournir un nouveau fichier .jnlp, au lieu de modifier un fichier existant.
  2. Les deux fichiers .dll peuvent également être chargés dans le .jnlp ou ils peuvent être référencés via la variable d'environnement UIPATH_JB_PATH, comme expliqué ci-dessus.
  3. La propriété assistive_technology peut également être ajoutée au fichier .jnlp, ou le fichier accessibility.properties peut être placé dans le %UserProfile%.

Prise en charge de la mise à l'échelle des applications

La mise à l'échelle est entièrement prise en charge pour les applications Java 9+ via des paramètres. Pensez à ajouter les paramètres suivants à l'application Java que vous souhaitez automatiser afin d'activer la prise en charge de la mise à l'échelle :

  • sun.java2d.uiScale.enabled : lorsqu'il n'est pas utilisé ou défini sur la valeur de chaîne exacte « true », il est considéré comme vrai et la configuration de mise à l'échelle suivante est prise en compte. Lorsqu'il est défini sur n'importe quelle autre valeur que « true » (par exemple, True, false, False, abc), il est alors considéré comme faux et aucun ajustement de mise à l'échelle supplémentaire n'est effectué.
  • sun.java2d.uiScale : les valeurs peuvent être transmises sous trois formes :
    • En tant que ratio (0,5, 2,3, 1,5)
    • En pourcentages (100 %, 150 %)
    • Valeurs dpi (96 dpi, 120 dpi). Il est pris en compte si la mise à l’échelle est activée. Il modifie la mise à l’échelle sur les deux axes.
  • sun.java2d.win.uiScaleX, sun.java2d.win.uiScaleY valeurs peuvent être transmises comme pour le paramètre sun.java2d.uiScale. Les deux sont nécessaires pour être pris en compte par l'application Java. Ils sont plus spécifiques que la configuration générale de la mise à l'échelle. À ce titre, si les 3 paramètres sont définis, seuls ceux-ci sont pris en compte.

Cette page vous a-t-elle été utile ?

Obtenez l'aide dont vous avez besoin
Formation RPA - Cours d'automatisation
Forum de la communauté UiPath
Logo Uipath blanc
Confiance et sécurité
© 2005-2024 UiPath. All rights reserved.