Versão atual:

Adicionar arquivo jar aplicação FLUIG

Boa noite,

Tenho um arquivo JAR, que contem vários métodos que precisam ser utilizados dentro dos Scripts do workflow.

Alguém já fez a importação do arquivo JAR para o projeto do fluig studio ?

EDIT 1

Rafael,

Pelo que eu entendi ao criar um modulo no Jboss qualquer aplicação pode ter acesso as bibliotecas.

Criei o modulo com.empresa.api.main

dentro do diretório main criei o arquivo module.xml e adicionei o arquivo API.jar dentro do mesmo diretório.

Código do arquivo module.xml

<module xmlns="urn:jboss:module:1.0" name="com.empresa.api"> <resources> <resource-root path="API.jar" /> </resources> </module>

Dentro da API.jar criei a classe br.com.empresa.controller.cliente.java

Dentro da classe Cliente.java criei o metodo com o seguinte codigo:

public String testeCliente(){ return "metodo funcionou";}

Depois disso criei um arquivo de Script Evento Workflow beforeTaskSave e implementei o seguinte codigo:

var objeto = new API.br.com.empresa.controller.ClienteHttp(); var retorno = objeto.testeClienteHTTP(); throw teste;

Quando executo o processo ele me retorna o seguinte erro:

Erro ao salvar/completar a tarefa: sun.org.mozilla.javascript.internal.EcmaError: ReferenceError: "API" is not defined. (#2) in at line number 2

Tambem testei dessa maneira:

function beforeTaskSave(colleagueId,nextSequenceId,userList){ var objeto = new Packages.API.br.com.empresa.controller.ClienteHttp(); var retorno = objeto.testeClienteHTTP(); throw teste; }

e mudou o retorno do erro:

Erro ao salvar/completar a tarefa: sun.org.mozilla.javascript.internal.EcmaError: TypeError: [JavaPackage API.br.com.empresa.controller.ClienteHttp] is not a function, it is object. (#2) in at line number 2

e desta maneira:

function beforeTaskSave(colleagueId,nextSequenceId,userList){ var objeto = new com.empresa.api.API.br.com.empresa.controller.ClienteHttp(); var retorno = objeto.testeClienteHTTP(); throw teste; }

O erro continuou o mesmo:

Erro ao salvar/completar a tarefa: sun.org.mozilla.javascript.internal.EcmaError: TypeError: [JavaPackage com.empresa.api.API.br.com.empresa.controller.ClienteHttp] is not a function, it is object. (#2) in at line number 2

Será que esta faltando algo para o projeto do fluig reconhecer o arquivo JAR ?

Desde já, obrigado.

EDIT 2

Então Rafael, você quis dizer que a estrutura de pastas criada na API.jar, tem que ser igual a estrutura de pastas criada no modulo do Jboss correto ?

Fiz as mudanças seguindo a logica acima:

Estrutura de pastas do Jboss: C:\fluig\jboss\modules\com\empresa\api\main

Estrutura de pastas da API.jar: API\src\com\empresa\api

o arquivo xml mantive da mesma maneira: <module xmlns="urn:jboss:module:1.0" name="com.empresa.api"> <resources> <resource-root path="API.jar" /> </resources> </module>

beforeTaskSave: function beforeTaskSave(colleagueId,nextSequenceId,userList){ var objeto = new com.empresa.api.ClienteHttp(); var retorno = objeto.testeClienteHTTP(); throw teste; }

mas o erro persiste: Erro ao salvar/completar a tarefa: sun.org.mozilla.javascript.internal.EcmaError: TypeError: [JavaPackage com.empresa.api.ClienteHttp] is not a function, it is object. (#2) in at line number 2

Achei esse tutorial: https://developer.jboss.org/wiki/CriandoUmModuloPersonalizadoParaASuaAplicacaoNoJBoss7

E observei que ele cria um arquivo chamado jboss-deployment-structure.xml no WEB-INF da aplicação. não seria necessário setar o modulo C:\fluig\jboss\modules\com\empresa\api\main nesse arquivo de configuração no WEB-INF do projeto do fluig ?

EDIT 3

Alguém conseguiu ?

Versões (10):

Ver a versão formatada

Adicionar arquivo jar fluig Studio

Comentário

new question