Gerar XSD a partir de classe Java  XML
Índice dos Fóruns » Ferramentas, Frameworks e Utilitários
Autor Mensagem
André Fonseca
JWizard
[Avatar]

Membro desde: 23/02/2007 15:52:55
Mensagens: 2034
Offline

oi

Como eu faço para gerar XSD a partir de código Java? Eu vi que para isso eu preciso usar a API JAXB

Neste caso eu precisaria fazer algo do tipo



Eu vi que o Castor serve para o processo inverso, ou seja, XSD para Java

Estou com dúvida para definir o poElement que seria um JAXBElement, certo?

Existe algum plugin para o Eclipse para trabalhar com o JAXB? Achei a API um pouco complicada e pouca documentação/exemplos

Se alguém puder me ajudar agradeço desde já


Você é novo no GUJ?


Como fazer perguntas?



www.twitter.com/_afonseca
André Fonseca
JWizard
[Avatar]

Membro desde: 23/02/2007 15:52:55
Mensagens: 2034
Offline

Olhando aqui eu vi que eu posso anotar as minhas classes e usar o schemagen.bat pra gerar os meus .xsd, o que acho que facilita as coisas..

Entretando quando eu rodo em linha de comando estou encontrando

Exception in thread "main" java.lang.NoClassDefFoundError: Software


Acho que estou configurando algo errado, alguém já utilizou esse cara??


Você é novo no GUJ?


Como fazer perguntas?



www.twitter.com/_afonseca
Arisson Leal
Thread.start()

Membro desde: 12/09/2007 16:25:42
Mensagens: 34
Offline

Na linha de comando vai na pasta onde está sua classe java e digita:


Que ele gera o o xsd pra você.

André Fonseca
JWizard
[Avatar]

Membro desde: 23/02/2007 15:52:55
Mensagens: 2034
Offline

Arisson Leal wrote:Na linha de comando vai na pasta onde está sua classe java e digita:


Que ele gera o o xsd pra você.



oi Arisson,

Então, eu já fiz isso, mas ele está dando aquele erro de classpath que coloquei acima, existe alguma variável de ambiente para setar? estou no windows, e defini apenas um JAXB_HOME

abs

Você é novo no GUJ?


Como fazer perguntas?



www.twitter.com/_afonseca
Arisson Leal
Thread.start()

Membro desde: 12/09/2007 16:25:42
Mensagens: 34
Offline

Só tenho a JAVA_HOME e CLASSPATH setada.

Acabei de fazer um teste aqui e funcionou blz.

Classe java:


Comando:


Xsd gerado schema1.xsd:


Se você digita xjc -version você consegue visualizar a versão do jaxb, talvez pode ser algum problema de versão.. não tenho muita certeza.

André Fonseca
JWizard
[Avatar]

Membro desde: 23/02/2007 15:52:55
Mensagens: 2034
Offline

oi Arisson,

realmente o CLASSPATH da minha máquina estava zuado, agora eu consegui fazer, gerou alguns erros mas eu tenho que consertar o mapeamento

Valeu pela ajuda

Você é novo no GUJ?


Como fazer perguntas?



www.twitter.com/_afonseca
André Fonseca
JWizard
[Avatar]

Membro desde: 23/02/2007 15:52:55
Mensagens: 2034
Offline

oi

quando eu faço o xjc -version estou encontrando

xjc version "2.0-b26-ea3"
JavaTM Architecture for XML Binding(JAXB) Reference Implementation, (build 2.0-b
26-ea3)


acho que falta alguma configuração de variável de ambiente, tentei fazer schemagen.bat na mesma classe que mandou usando -classpath ..\lib e me gera erro



repare que o xjc nao mostra a versão do JDK, não sei se tem a ver...

como você definiu as suas variáveis JAVA_HOME e CLASSPATH para o JAXB ??

abs

This message was edited 1 time. Last update was at 27/10/2008 15:34:53


Você é novo no GUJ?


Como fazer perguntas?



www.twitter.com/_afonseca
André Fonseca
JWizard
[Avatar]

Membro desde: 23/02/2007 15:52:55
Mensagens: 2034
Offline

oi

parece que existe uma mudança entre versões, agora por exemplo eu tenho


Você é novo no GUJ?


Como fazer perguntas?



www.twitter.com/_afonseca
Arisson Leal
Thread.start()

Membro desde: 12/09/2007 16:25:42
Mensagens: 34
Offline

Minhas variáveis de ambiente estão apontando pra minha instalação do Java, estou usando o JAXB que vem com o próprio Java.

Estou usando o Java 1.6

JAVA_HOME = C:\Arquivos de programas\Java\jdk1.6.0_06
CLASSPATH = .;C:\Arquivos de programas\Java\jre1.6.0_06\lib
André Fonseca
JWizard
[Avatar]

Membro desde: 23/02/2007 15:52:55
Mensagens: 2034
Offline

oi

pois é, o meu JAVA_HOME estava apontando para o java5, o JAXB vem junto a partir do Java6, para usar ele eu tinha instalado este cara, acho que por isso estava encontrando algumas incompatibilidades..

vlw

Você é novo no GUJ?


Como fazer perguntas?



www.twitter.com/_afonseca
onias85@gmail.com
HelloWorld

Membro desde: 26/10/2011 09:54:24
Mensagens: 13
Offline

o xjc gera classes a partir de xsds... existe alguma classe que faça esse trabalho de ler o xml e gerar outras classes java?
ou melhor ainda, um plugin do eclipse que faça isso pra gente pro exemplo: existe a opção no eclipse assim: new-> jaxb-> schema from jaxb classes....
poderia haver algo inverso (classes from schema)? existe plugin pra isso?
 
Índice dos Fóruns » Ferramentas, Frameworks e Utilitários
Ir para:   
Powered by JForum 2.1.8 © JForum Team