Problema com JAR executável e Spring  XML
Índice dos Fóruns » Java Avançado
Autor Mensagem
novato25
JavaBaby
[Avatar]

Membro desde: 10/03/2008 07:48:50
Mensagens: 92
Offline

Gente,

estou exportando a minha aplicação para um JAR executável e estou obtendo o seguinte erro na hora de executá-lo:




O interessante é que consigo executar minha palicação normalmente através do eclipse. Esse erro só acontece com o JAR executável. Para gerá-lo eu fui em Export->Java->Runnable JAR file.

Estou utilizando o spring versão 3.0.4

Alguém poderia me dar um help? Obrigado!

Any fool can write code that a computer can understand. Good programmers write code that humans can understand. (Martin Fowler)
romarcio
JWizard
[Avatar]

Membro desde: 17/12/2008 10:05:49
Mensagens: 2434
Localização: Santa Maria/RS
Offline

O que tem nesse linha:

Bacharel em Sistemas de Informação.
Oracle Certified Professional, Java SE 6 Programmer

Blog | Facebook | Twitter
[WWW]
novato25
JavaBaby
[Avatar]

Membro desde: 10/03/2008 07:48:50
Mensagens: 92
Offline

Bom, acho que meu applicationContext.xml não está errado, mesmo porque funciona no eclipse:

applicationContext.xml



This message was edited 1 time. Last update was at 18/01/2012 14:34:42


Any fool can write code that a computer can understand. Good programmers write code that humans can understand. (Martin Fowler)
romarcio
JWizard
[Avatar]

Membro desde: 17/12/2008 10:05:49
Mensagens: 2434
Localização: Santa Maria/RS
Offline

O problema parece ser aqui:
Tira essa linha e mais a linha:

E testa sem elas.

Bacharel em Sistemas de Informação.
Oracle Certified Professional, Java SE 6 Programmer

Blog | Facebook | Twitter
[WWW]
novato25
JavaBaby
[Avatar]

Membro desde: 10/03/2008 07:48:50
Mensagens: 92
Offline

Bom, eu já havia retirado, mas o erro sempre ocorre, agora com a linha a cima. Já tirei todas deixando apenas o xsd do beans, mas não rola.

Any fool can write code that a computer can understand. Good programmers write code that humans can understand. (Martin Fowler)
novato25
JavaBaby
[Avatar]

Membro desde: 10/03/2008 07:48:50
Mensagens: 92
Offline

Pelo que vi aqui, parece que não está localizando os XSDs do Spring a começar pelo beans (http://www.springframework.org/schema/beans/spring-beans-3.0.xsd).
Do eclipse a aplicação executa ok, mas do jar tem esse problema. Ainda não sei como resolver.

Any fool can write code that a computer can understand. Good programmers write code that humans can understand. (Martin Fowler)
romarcio
JWizard
[Avatar]

Membro desde: 17/12/2008 10:05:49
Mensagens: 2434
Localização: Santa Maria/RS
Offline

novato25 wrote:Pelo que vi aqui, parece que não está localizando os XSDs do Spring a começar pelo beans (http://www.springframework.org/schema/beans/spring-beans-3.0.xsd).
Do eclipse a aplicação executa ok, mas do jar tem esse problema. Ainda não sei como resolver.

É... Pode ser.

Bacharel em Sistemas de Informação.
Oracle Certified Professional, Java SE 6 Programmer

Blog | Facebook | Twitter
[WWW]
abmpicoli
JavaTeenager

Membro desde: 27/07/2011 09:11:25
Mensagens: 164
Offline

Carinha, uma pergunta: você está exportando o jar e daí está executando o jar dentro do mesmo ambiente e sistema operacional, ou está executando ele em outro lugar?

Já tive um problema, há muuuuuuuito tempo atrás, que estou puxando da memória, que o jasper reports não estava renderizando um relatório no servidor web, porque o servidor tinha problemas de permissão, e tinha mais uns problemas de configuração, que não me lembro... O problema é que o servidor tentava acessar a URL do XSD externa explicitamente e havia um bloqueio do firewall...


Uma possibilidade horrorível é ao invés de usar o XSD original, é colocar uma cópia dele em algum lugar que seja acessível ao servidor em questão e mudar a URL do XSD para este novo local.

.x.
fabiofalci
GUJ Master
[Avatar]

Membro desde: 11/04/2006 09:23:14
Mensagens: 1057
Localização: Porto Alegre - RS
Offline

http://stackoverflow.com/questions/1729307/spring-schemalocation-fails-when-there-is-no-internet-connection
[WWW] [MSN] [ICQ]
novato25
JavaBaby
[Avatar]

Membro desde: 10/03/2008 07:48:50
Mensagens: 92
Offline

abmpicoli,

o JAR é executado na mesma máquina que está o eclipse. Inclusive tenho um projeto MAVEN com as mesma configurações do Spring e o JAR que ele gera executa normalmente. Não sei qual a mágica que o MAVEN faz. O problema é que estou mexendo num sistema legado que não é um projeto MAVEN e estou atualizando a versão do Spring que estava ainda na versão 1. Removi a lib da versão antiga do Spring e coloquei as libs da versão nova (3.0.4). Preciso desta atualização porque preciso implementar uma funcionalidade nova e a versão nova do Spring me ajudaria muito (envio de e-mail e agendamento de tarefas). A nível de teste, criei um projeto apenas carregando o contexto do Spring e o erro é o mesmo. Funciona no eclipse, porém, quando exportado para um jar executável, não funciona.

Fabiofalci,

Eu já havia visto esta solução. Mas verificando os arquivos spring.handlers e spring.schemas dentro do JAR, acredito que não haja nenhum problema na configuração. Veja:


spring.schemas



spring.handlers



Estou quase desistindo de atualizar a versão do Spring e procurar outra solução para o que vou fazer no sistema.

Agradeço a colaboração de todos. Obrigado!

Any fool can write code that a computer can understand. Good programmers write code that humans can understand. (Martin Fowler)
abmpicoli
JavaTeenager

Membro desde: 27/07/2011 09:11:25
Mensagens: 164
Offline

Dá uma olhada na seguinte coisa, carinha.

1) Repare que o que o carinha está reclamando no código, não é a *falta* do XSD, mas sim de que o XML que ele está buscando não é válido: Ele não encontra no XML a declaração do elemento "beans". Só me caiu a ficha agora.

Faz muuuuuuito tempo que mexi com o spring, pra te ajudar melhor nisso. Ele está procurando a definição de beans no XML e não está achando. Será que não está faltando uma configuração do bixo pra ele procurar o xml dentro do jar?

2) Será que por algum milagre de classpath você está rodando o spring 1 com o spring3 juntos no eclipse, mas quando empacota só fica o 3 e daí o bixo começa a reclamar de alguma incompatibilidade entre o spring 1 e o spring 3?


.x.
novato25
JavaBaby
[Avatar]

Membro desde: 10/03/2008 07:48:50
Mensagens: 92
Offline

Bom, sobre o problema, encontrei este post: http://stackoverflow.com/questions/5049374/build-spring-roo-export-maven-project-with-eclipse-export-runnable-jar-file

Resolvi meu problema retirando as anotações do spring do meu código e configurei tudo via xml mesmo, pois percebi que o problema acontecia quando eu utilizava o elemento 'scan' do context.



removi este elemento e funcionou! Obrigado a todos pela colaboração. Se alguém encontrar uma solução, posta aí. Obrigado!!

This message was edited 1 time. Last update was at 19/01/2012 13:36:29


Any fool can write code that a computer can understand. Good programmers write code that humans can understand. (Martin Fowler)
romarcio
JWizard
[Avatar]

Membro desde: 17/12/2008 10:05:49
Mensagens: 2434
Localização: Santa Maria/RS
Offline

Sério? Que estranho isso.



Bacharel em Sistemas de Informação.
Oracle Certified Professional, Java SE 6 Programmer

Blog | Facebook | Twitter
[WWW]
 
Índice dos Fóruns » Java Avançado
Ir para:   
Powered by JForum 2.1.8 © JForum Team