Estou utilizando Spring 3 e JPA 2 e EclipseLink como provider, porém estou tendo problema quando configuro no meu xml o load-timer-weaving
<context:load-time-weaver/>
A exception que ocorre é a seguinte:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor#0' defined in ServletContext resource [/WEB-INF/jpa-servlet.xml]: Initialization of bean failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in ServletContext resource [/WEB-INF/jpa-servlet.xml]: Initialization of bean failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'loadTimeWeaver': Initialization of bean failed; nested exception is java.lang.IllegalStateException: ClassLoader [org.apache.catalina.loader.WebappClassLoader] does NOT provide an 'addTransformer(ClassFileTransformer)' method. Specify a custom LoadTimeWeaver or start your Java virtual machine with Spring's agent: -javaagent:org.springframework.instrument.jar
Ai diz que eu devo especificar um LoadTimerWeaver personalizado ou inicializar minha JVM com um agente do Spring. Porém não sei o que isso quer dizer, pelo que pesquisei, entendi esse waving é quando se aplica aspectos no sistema e o load-timer-weaver é quando isso acontece em tempo de carga da classe na JVM. É isso mesmo?
Não passei por isso…mas quando você faz o load time weaving é necessário que o class loader faça umas mágicas na sua classe… e pelo que parece o seu class loader não faz isso… e voce precisa utilizar um agent para turbinar o jvm como citado no erro:
Então, peguei este codigo na documentação do spring, naquele link que vc postou.
No meu caso estou utilizando o tomcat no eclipse para rodar o projeto, na pasta webapps do tomcat nao tem o meu projeto. Neste caso eu devo passar o endereço de onde está o projeto no workspace?
The Document Base (also known as the Context Root) directory for this web application, or the pathname to the web application archive file (if this web application is being executed directly from the WAR file). You may specify an absolute pathname for this directory or WAR file, or a pathname that is relative to the appBase directory of the owning Host.
The value of this field must not be set when the Context is configured using a META-INF/context.xml file as it will be inferred by the automatic deployment process.[/quote]
Na documentação do Tomcat diz que quando o context.xml estiver dentro do diretório META-INF eu não preciso usar este docBase pois ele será deduzido automaticamente.
Porém parece que ele não está reconhecendo este contex
Tem uma opcao para copiar a aplicacao para a pasta webapps do tomcat… ao invés de usar ela no eclipse (eu nao sei exatamente onde é… pq to sem essa configuracao de tomcat aqui… mas tem essa opcao)…
Acho que usando o WTP já é criado um context.xml na sua app… acho que dá pra vc configurar por ele também…
Consegui arrumar, modifiquei os arquivos server.xml e context.xml ficam dentro Diretório Server que o Eclipse cria quando um servidor é configurado asssim eu não precisei modificar os arquivos do diretorio do Tomcat, pois esses arquivos são criados especificamente para as configurações do projeto que está sendo rodado no meu workspace.
Agora apareceram outras exceções, vou tentar arrumar aqui, qualquer coisa volto a postar!