studio
2021.10
false
UiPath logo, featuring letters U and I in white
Guia do usuário do Studio
Last updated 23 de set de 2024

Extensão para Java

Versões Compatíveis

Atualmente, a Extensão Java é compatível com qualquer versão do JRE, desde o Java 3 até o Java 15.

Observação: para Java 9+, a extensão UiPath para Java funciona em edições Windows Enterprise e não Enterprise com aplicativos abertos com Java JDK. Para aplicativos abertos com o Java JRE, a Extensão UiPath para Java funciona apenas em edições do Windows não Enterprise. Leia mais no guia de Solução de Problemas da Extensão Java.

A partir do Studio e da Linha de Comando

A Extensão UiPath para Java é instalada fazendo o seguinte:

  1. Primeiro, feche qualquer aplicativo Java em execução. Inicie o Studio e acesse a aba Ferramentas a partir da exibição Backstage do Studio. As extensões que você pode instalar se tornem visíveis. Clique no botão Extensões Java. Uma mensagem de confirmação aparece, informando que a extensão foi instalada.
  2. Execute este comando C:\Program Files\UiPath\Studio\UiPath\SetupExtensions.exe /Java em uma janela de prompt de comando com direitos de administrador.

O Studio e o UI Explorer também pedem para instalar a Extensão UiPath para Java quando você tentar selecionar um controle dentro de um aplicativo Java e quando a ponte não é detectada. Observe que se você escolher instalar a Extensão UiPath para Java quando solicitado pelo UI Explorer, os arquivos do Java Bridge são implantados apenas no diretório JRE que lançou o aplicativo Java de destino em vez do diretório JDK.

Observação: para instalar esta extensão, você deve ter direitos de administrador.

Para verificar se a extensão não está funcionando corretamente, abra o UI Explorer e tente selecionar controles dentro de um aplicativo Java. Se a janela inteira estiver selecionada, significa que a extensão não está funcionando corretamente.

Você pode dizer se a extensão está instalada corretamente ou não pelos seletores gerados para controles Java:
  • Seletor válido para controles Java: <wnd app=”...” /><java role=”...” />
  • Seletor Inválido para controles Java: <wnd app=”...” /><ctrl role=”client” />
Observação: a extensão UiPath para Java é compatível apenas com aplicativos AWT (por exemplo, Java Swing, Oracle Forms e Fujitsu JBK), enquanto que aplicativos SWT são automatizados com Active Accessibility. Para detectar o tipo de seu aplicativo Java, verifique o atributo cls (nome de classe de janela) no UI Explorer. O nome da classe deve ser semelhante a SunAwtFrame ou javax.swing.

Os processos podem interagir com aplicativos Java independentemente de sua escala de DPI.

A Extensão UiPath para Java também pode ser instalada usando a ferramenta ScreenScrapeJavaSupport.

Importante:

O instalador da Extensão Java incorporada no Studio (e também o ScreenScrapeJavaSupport) depende do mecanismo de extensão para que a extensão seja carregada pelo JRE. A partir do Java 9, o mecanismo de extensão foi descontinuado, e o instalador não é mais capaz de adicionar os arquivos necessários ao JRE (mais informações aqui).

Portanto, se o aplicativo Java estiver usando Java 9 ou superior, será necessário seguir as etapas descritas aqui.

Instalando a Extensão em uma Pasta Personalizada

Para Java 8 ou Anterior

Para que a Extensão UiPath para Java seja instalada em um local personalizado, as seguintes etapas precisam ser realizadas:

  1. Crie uma nova pasta na sua máquina na qual você deseja instalar a Extensão UiPath para Java (como C:\UiPathJavaExt) e copie os seguintes arquivos para ela:
    1. UiPathBridge.jar - localizado no diretório %UserProfile%\.nuget\packages\uipath\20.xx.xxxx\build\UiPath\JavaSupport.
    2. UiPathJavaBridgeV8.dll e UiPathJavaBridgeV8_x64.dll localizados no diretório %UserProfile%\.nuget\packages\uipath\20.xx.xxxx\build\UiPath. Não é necessário copiar ambos os arquivos, mas pode evitar problemas que podem ocorrer devido à incompatibilidade de versões entre o JRE e o UiPathJavaBridge.
  2. O mecanismo de Configuração de Extensão do Java usado pelo UiPath para instalar a extensão implanta os arquivos UiPathBridge.jar e accessibility.properties no diretório de instalação do Java (geralmente C:\Program Files (x86)\Java\jre1.8.0_xx). Para usar a Extensão UiPath para Java a partir de uma pasta personalizada, a dependência para esses arquivos deve ser atenuada da seguinte maneira:
    1. Para o arquivo UiPathBridge.jar, você precisa especificar a pasta na qual você copiou UiPathBridge.jar e UiPathJavaBridgev8.dll (como C:\UiPathJavaExt) quando você iniciar o aplicativo Java que usa a extensão. Isso é feito por meio do argumento -Djava.ext.dirs = C:\UiPathJavaExt.
    2. Para o arquivo accessibility.properties, há dois métodos:
      • Adicione o parâmetro assistive_technologies=UiPath.UiPathBridge ao arquivo de configuração global accessibility.properties localizado no diretório %userprofile%. Observe que esse arquivo é diferente daquele implantado pela Extensão UiPath para Java, e suas configurações têm precedência sobre as que estão definidas pela instalação Java.
      • Use o argumento -Djavax.accessibility.assistive_technologies=UiPath.UiPathBridge quando você executar o aplicativo Java de destino.

As propriedades do sistema precisam ser passadas corretamente para o aplicativo Java de destino. Isso pode ser feito por meio de vários métodos:

  • Inclua a propriedade -Djava.ext.dirs=C:\UiPathJavaExt -Djavax.accessibility.assistive_technologies=UiPath.UiPathBridge do sistema na variável de ambiente _JAVA_OPTIONS. O JRE carrega as propriedades da variável de ambiente e da Extensão do UiPath para Java carregada no aplicativo de destino.
  • Use o comando 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 dentro do prompt de comando. Uma mensagem de confirmação aparece indicando que a Extensão do UiPath para Java foi carregada com sucesso.
  • Inclua a propriedade -Djava.ext.dirs=C:\UiPathJavaExt -Djavax.accessibility.assistive_technologies=UiPath.UiPathBridge do sistema na variável de ambiente JAVA_TOOL_OPTIONS. Observe que esse método funciona apenas com o Java 5 ou posterior.

A passagem de propriedades para um applet Java é feita com um dos seguintes métodos:

  1. Usando a aplicação appletviewer.exe.
    Este método requer que você crie primeiro o arquivo .java.policy na pasta %userprofile% e deve conter o seguinte:
    grant { 
        permission java.net.URLPermission "url_of_the_Java_applet", "<em>:</em>"; 
    };grant { 
        permission java.net.URLPermission "url_of_the_Java_applet", "<em>:</em>"; 
    };
    Após essa conclusão, o applet de destino precisa ser iniciado por meio de appletviewer.exe com este comando:

    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. Usando o Painel de controle do Java que é entregue com o JRE.

    O Painel de controle Java permite que você especifique os parâmetros de runtime para cada JRE. Dessa forma, é necessário que você especifique o

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

    parâmetro do miniaplicativo de destino. Isso faz com que a Extensão UiPath para Java seja carregada sempre que o applet Java for iniciado.

A tabela abaixo apresenta a compatibilidade entre os métodos usados acima, versões Java e diferentes tipos de aplicativos Java:

Tipo de Aplicativo

_JAVA_OPTIONS

JAVA_TOOL_OPTIONS

Parâmetros de Linha de Comando

Painel de controle Java - Parâmetros de Runtime

Aplicativo para Computadores do Java

Java 3 para Java 8

Java 5 para Java 8

Java 3 para Java 8

Não Compatível

Aplicativo Contido do Java (.exe)

Java 3 para Java 8

Java 5 para Java 8

Java 3 para Java 8 (1)

Não Compatível

Applet Java

Java 3 para Java 8

Java 5 para Java 8

Não Compatível

Java 3 para Java 8

Formulários do Oracle Java

Não Compatível

Não Compatível

Não Compatível

Não Compatível

(1) - Dependendo da ferramenta de linha de comando que você usar, os parâmetros adicionais podem ser passados por meio das variáveis de ambiente.

Para Java 9 ou posterior

A partir do Java 9, o Mecanismo de Extensão Java é removido, o que significa que o argumento -Djava.ext.dirs não pode ser usado em aplicativos com Java 9 e superiores.

A ideia principal por trás do carregamento da extensão pode ser dividida em 3 requisitos:

  1. Adicione o UiPathBridge.jar e UiPathServiceProvider.jar ao classpath do aplicativo.
  2. Torne UiPathJavaBridgeV8.dll e UiPathJavaBridgeV8_x64 visíveis para UiPathBrdige.jar. Isso pode ser feito de diversas maneiras:
    • colocar os arquivos na mesma pasta com UiPathBridge.jar;
    • colocar os arquivos na pasta acima UiPathBridge.jar;
    • adicionar os dois arquivos a uma pasta e referenciar seu caminho por meio de uma variável de ambiente chamada UIPATH_JB_PATH;

      Não é necessário fazer referência a ambos os arquivos, mas isso pode evitar problemas que podem ocorrer devido à diferença de versão entre JRE e o UiPath Java Bridge.

  3. Configure o aplicativo para carregar a tecnologia adaptativa. Isso é feito através do arquivo accessibility.properties, que é colocado dentro dos JREs.
    Observação: o arquivo UiPathJavaServiceProvider.jar está disponível nos pacotes mais recentes do UiPath.UIAutomation.Activities (mais recentes que o 21.2-preview). Se você estiver usando uma versão inferior do UIAutomation, o arquivo pode ser obtido atualizando temporariamente um arquivo de fluxo de trabalho vazio para a versão 21.2-preview. Isso gera a desempacotamento de uma versão mais recente do pacote UiPath.nuget na máquina do usuário (%UserProfile%\.nuget\packages\uipath). Após obter o arquivo, pode ser feito o downgrade no pacote para a versão usada antes da atualização.

Atender aos requisitos acima depende diretamente da forma como o aplicativo Java é iniciado. Há 3 maneiras comuns de iniciar o aplicativo e carregar a extensão.

Aplicativos iniciados a partir de arquivos .jar, .bat, ou .ps1

Vamos considerar o caso simples em que o aplicativo é iniciado diretamente dos arquivos .jar simples: java -jar SwingSet2.jar

As seguintes etapas precisam ser realizadas:

  1. Crie uma nova pasta na sua máquina na qual você deseja instalar a Extensão UiPath para Java (como C:\UiPathJavaExt) e copie os seguintes arquivos para ela:
    • UiPathBridge.jar e UiPathJavaServiceProvider.jar- localizados no diretório %UserProfile%\.nuget\packages\uipath\20.xx.xxxx\build\UiPath\JavaSupport.
    • UiPathJavaBridgeV8.dll e UiPathJavaBridgeV8_x64.dll- localizados no diretório %UserProfile%\.nuget\packages\uipath\20.xx.xxxx\build\UiPath.
  2. Adicione a pasta criada anteriormente ao classpath do aplicativo Java de destino. Isso é feito com o comando -cp, -classpath. Para esse exemplo, consideramos SwingSet2 como o aplicativo Java de destino:

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

Se o aplicativo for iniciado por meio de um arquivo .bat ou .ps1, então o arquivo deve ser analisado com um editor de texto. O arquivo que inicia o aplicativo contém uma linha semelhante ao comando java -jar SwingSet2.jar, mas também inclui muitos outros parâmetros. O comando pode ser alterado para incluir os arquivos no classpath e especificar o parâmetro da tecnologia adaptativa. Alterações dentro desses arquivos devem ser feitas com cuidado. Em alguns casos, o classpath e os parâmetros adicionais são escolhidos de variáveis de ambiente, que é um método menos invasivo.

Aplicativos iniciados de arquivos .exe

Quando o aplicativo é iniciado por um arquivo .exe você deve encontrar uma maneira alternativa de carregar os arquivos para o classpath e especificar o parâmetro da tecnologia adaptativa.
  1. Para carregar os arquivos do classpath, você pode pesquisar por variáveis de ambiente que são lidas pelo executável, ou por arquivos de configuração que especificam onde as dependências são carregadas. Não há nada que seja padrão aqui, e depende muito do nível de personalização do executável.
  2. A tecnologia adaptativa pode ser especificada neste caso de maneira similar àquela usada pelo instalador de extensão. O arquivo padrão accessibility.properties, pode ser movido para a pasta %UserProfile% e renomeado para .accessbility.properties.

Aplicativos iniciados de arquivos .jnlp

Quando o aplicativo é iniciado por meio de um arquivo .jnlp, o seguinte deve ser considerado:
  1. Carregar o UiPathBridge,jar e UiPathServiceProvider.jar deve ser feito os adicionando como dependências para o arquivo .jnlp. Isso determina que o servidor deve fornecer um novo arquivo .jnlp, em vez de editar um já existente.
  2. Os dois arquivos .dll também podem ser carregados dentro do arquivo .jnlp, ou podem ser referenciados por meio da variável de ambiente UIPATH_JB_PATH, conforme explicado acima.
  3. A propriedade assistive_technology também pode ser adicionada ao arquivo .jnlp, ou o arquivo accessibility.properties pode ser colocado no %UserProfile%.

Suporte a Dimensionamento no Aplicativo

O dimensionamento tem suporte total em aplicativos Java 9+ através de parâmetros. Considere adicionar os parâmetros a seguir ao aplicativo Java que deseja automatizar, a fim de habilitar o suporte ao dimensionamento:

  • sun.java2d.uiScale.enabled ─ Quando não utilizado ou definido como o valor exato da string de "true", ele será considerado como verdadeiro e a seguinte configuração de dimensionamento será levada em consideração. Quando definido com qualquer outro valor, mas "true" (tais como True, false, False, abc), então ele será considerado como falso e não serão feitos ajustes de dimensionamento adicionais.
  • sun.java2d.uiScale ─ Os valores podem ser passados de três maneiras:
    • Como um índice (0,5, 2,3, 1,5)
    • Como porcentagens (100%, 150%)
    • Como valores de dpi (96 dpi, 120 dpi). O valor será considerado se o dimensionamento estiver habilitado. Ele modifica o dimensionamento em ambos os eixos.
  • sun.java2d.win.uiScaleX, sun.java2d.win.uiScaleY Os valores podem ser passados quando ao parâmetro sun.java2d.uiScale. Ambos são necessário para serem considerados pelo aplicativo Java. Eles são mais específicos do que a configuração geral do dimensionamento. Como tal, se todos os três parâmetros estiverem definidos, somente esses serão considerados.

Esta página foi útil?

Obtenha a ajuda que você precisa
Aprendendo RPA - Cursos de automação
Fórum da comunidade da Uipath
Uipath Logo White
Confiança e segurança
© 2005-2024 UiPath. Todos os direitos reservados.