XMLBeans - gerar classes dinamicamente a partir do schema

2 respostas
JaneT

Olá pessoal!

Estou usando Struts e XMLBeans, e preciso chamar o XMLBeans na action, para gerar as classes dinamicamente (como ele faz no comando scomp) a partir do schema. Vendo como o scomp.cmd funciona, fiz assim:

Parameters parameters = new Parameters();
		
File[] classpath = new File[4];
classpath[0] = new File( "%XMLBEANS_LIB%\\xbean.jar" );
classpath[1] = new File( "%XMLBEANS_LIB%\\jsr173_1.0_api.jar" );
classpath[2] = new File( "%JAVA_HOME%\\lib\\tools.jar" );
classpath[3] = new File( "%XMLBEANS_LIB%\\resolver.jar" );
parameters.setClasspath(classpath);
		
parameters.setOutputJar( new File( "C:\\Temp\\teste.jar" ) );
		
File schema = new File("C:\\teste.xsd");
File[] xsdFiles = { schema };
parameters.setXsdFiles( xsdFiles );
		
parameters.setSrcDir( new File( "C:\\Temp\\src" ) );
		
parameters.setClassesDir( new File( "C:\\Temp\\classes" ) );
		
SchemaCompiler.compile(parameters);

Porém, acontece isso:

Servlet.service() for servlet action threw exception
java.lang.NoClassDefFoundError: javax/xml/stream/XMLStreamException

Alguém sabe o que pode estar errado?
Ou se existe outro modo de gerar as classes dinamicamente?

Obrigada!!

2 Respostas

danieldestro

A própria mensagem diz que está faltando a classe javax/xml/stream/XMLStreamException.

JaneT

Sim, eu pensei que copiando o xbean.jar para o diretório WEB-INF\lib resolvia isso… mas copiei agora todos os .jar que vieram no lib do XMLBeans para WEB-INF\lib (jsr173_1.0_api.jar, resolver.jar, xbean.jar, xbean_xpath.jar, xmlpublic.jar) e deu certo.

Valeu! 8)

Criado 3 de agosto de 2006
Ultima resposta 3 de ago. de 2006
Respostas 2
Participantes 2