INFO: nenhum tipo de WebApplicationInitializer do Spring detectado no classpath

Eu tenho um projeto de mola que funciona bem no meu servidor tomcat7 quando eu implantar a partir do eclipse: Run As >> Run on server. Na aba do eclipse “Servidores” eu vejo:

Servers Tomcat v7.0 Server at localhost [Started, Synchronized] my_project [Synchronized] spring-web-3.2.4-RELEASE.jar 

Meu projeto:

  • não usa web.xml, eu uso o javaconf @ annotations.
  • não usa maven, eu uso uma biblioteca de usuários

Eu vejo que o projeto está em:

 /srv/applications/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0 

E também vejo as pastas: conf, logs, temp, webapps, work, wtpwebapps

Eu confirmo que tudo corre bem no meu servidor tomcat7 quando eu implantar a partir do eclipse!

No eclipse console eu recebo:

 Apr 08, 2014 3:26:59 PM org.apache.tomcat.util.digester.SetPropertiesRule begin WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.j2ee.server:my_project' did not find a matching property. Apr 08, 2014 3:27:00 PM org.apache.coyote.AbstractProtocol init INFO: Initializing ProtocolHandler ["http-bio-8888"] Apr 08, 2014 3:27:00 PM org.apache.coyote.AbstractProtocol init INFO: Initializing ProtocolHandler ["http-bio-8843"] Apr 08, 2014 3:27:01 PM org.apache.catalina.startup.Catalina load INFO: Initialization processed in 3215 ms Apr 08, 2014 3:27:01 PM org.apache.catalina.core.StandardService startInternal INFO: Starting service Catalina Apr 08, 2014 3:27:01 PM org.apache.catalina.core.StandardEngine startInternal INFO: Starting Servlet Engine: Apache Tomcat/7.0.26 Apr 08, 2014 3:27:11 PM org.apache.catalina.core.ApplicationContext log INFO: Spring WebApplicationInitializers detected on classpath: [my_project.web.context.WebApplicationInitializer@3599e94c] Apr 08, 2014 3:27:12 PM org.apache.catalina.core.ApplicationContext log INFO: Initializing Spring root WebApplicationContext Apr 08, 2014 3:27:24 PM org.apache.catalina.core.ApplicationContext log INFO: Initializing Spring FrameworkServlet 'dispatcher' Apr 08, 2014 3:27:24 PM org.apache.coyote.AbstractProtocol start INFO: Starting ProtocolHandler ["http-bio-8888"] Apr 08, 2014 3:27:24 PM org.apache.coyote.AbstractProtocol start INFO: Starting ProtocolHandler ["http-bio-8843"] Apr 08, 2014 3:27:24 PM org.apache.catalina.startup.Catalina start INFO: Server startup in 23821 ms 

Agora: O problema é quando eu implantar o mesmo aplicativo (usando um arquivo .war) no mesmo servidor tomcat7 / var / lib / tomcat7 / webapps

Eu posso abrir a minha página inicial, mas sem dados,

Eu vejo no log:

 INFO: No Spring WebApplicationInitializer types detected on classpath 

Quando eu reiniciar o tomcat7 eu entro no arquivo de log:

 INFO: Destroying ProtocolHandler ["http-bio-8843"] Apr 8, 2014 3:25:30 PM org.apache.tomcat.util.digester.SetPropertiesRule begin WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.j2ee.server:my_project' did not find a matching property. Apr 8, 2014 3:25:30 PM org.apache.coyote.AbstractProtocol init INFO: Initializing ProtocolHandler ["http-bio-8888"] Apr 8, 2014 3:25:31 PM org.apache.coyote.AbstractProtocol init INFO: Initializing ProtocolHandler ["http-bio-8843"] Apr 8, 2014 3:25:31 PM org.apache.catalina.startup.Catalina load INFO: Initialization processed in 1664 ms Apr 8, 2014 3:25:31 PM org.apache.catalina.core.StandardService startInternal INFO: Starting service Catalina Apr 8, 2014 3:25:31 PM org.apache.catalina.core.StandardEngine startInternal INFO: Starting Servlet Engine: Apache Tomcat/7.0.26 Apr 8, 2014 3:25:38 PM org.apache.coyote.AbstractProtocol start INFO: Starting ProtocolHandler ["http-bio-8888"] Apr 8, 2014 3:25:38 PM org.apache.coyote.AbstractProtocol start INFO: Starting ProtocolHandler ["http-bio-8843"] Apr 8, 2014 3:25:38 PM org.apache.catalina.startup.Catalina start INFO: Server startup in 7576 ms 

Eu encontrei o erro: Eu tenho uma biblioteca que foi construída usando o jdk 1.6. O controlador principal e os componentes do Spring estão nesta biblioteca. E como eu uso o jdk 1.7, ele não encontra as classs construídas em 1.6.

A solução foi construída usando “nível de conformidade do compilador: 1.7” e “Compatibilidade de arquivos gerados .class: 1.6”, “Compatibilidade de origem: 1.6”.

Eu configuro essa opção no Eclipse: Preferences \ Java \ Compiler.

Obrigado a todos.

Meu motivo bobo foi: Build Automatic foi desativado!

Eu tinha essa mensagem de informação “Nenhum tipo de WebApplicationInitializer do Spring detectado no caminho de class” durante a implementação de um WAR com beans de integração de mola no servidor WebLogic. Na verdade, eu pude observar que a URL do servlet retornou 404 Not Found e ao lado daquela mensagem de informação com um tom negativo “No Spring … etc” nos logs do servidor, nada mais estava aparentemente errado na minha configuração de spring; sem erros de construção ou implantação, sem reclamações. Na verdade, suspeitei que o beans.xml (XML de contexto de primavera) na verdade não foi captado e que estava vinculado à organização muito específica de artefatos no jDeveloper da Oracle. A solução é jogar cuidadosamente com os ‘contribuidores’ e ‘filtros’ para a categoria WEB-INF / classs quando você edita seu perfil de implantação sob o tópico ‘deployment’ nas propriedades do projeto.

Precisamente, aconselho nomear seu contexto de mola pelo padrão “beans.xml” de jDeveloper e colocá-lo lado a lado no próprio subdiretório WEB-INF (sob o caminho de origem do seu Webplabin, por exemplo, como <... seu caminho de projeto> / public_html /). Em seguida, na categoria WEB-INF / classs (ao editar o perfil de implementação), você pode verificar o diretório-raiz HTML do projeto na lista ‘contributor’ e, em seguida, selecionar beans.xml em filtros e garantir que seu web.xml tenha resources valor de contexto-parâmetro como classpath: beans.xml.

Uma vez que isso foi corrigido, eu pude progredir e depois de algumas mudanças e implementações de configuração do bean, a mensagem “Nenhum tipo de Spring WebApplicationInitializer detectado no caminho de class” voltou! Na verdade, eu não percebi quando e por que exatamente isso voltou. Na segunda vez, adicionei um

 public class HttpGatewayInit implements WebApplicationInitializer { ... } 

que implementa methods herdados vazios, e todo o aplicativo funciona bem!

… Se você acha que o desenvolvimento de java EE está ficando um pouco louco demais com cascatas de arquivos de configuração XML (alguns editados manualmente, outros por meio de assistentes) interpretados por cascatas de inicializadores variantes, deixe-me insistir que eu compartilhe completamente seu ponto.

Certifique-se que seu log4j está configurado corretamente, provavelmente há uma exceção que está sendo lançada, mas você está vendo apenas metade da imagem.

Por favor, veja https://stackoverflow.com/a/16817018/1249304

Eu também tive o mesmo problema. Meu maven tinha o plugin tomcat7, mas o ambiente do JRE era 1.6. Eu mudei meu tomcat7 para tomcat6 e o ​​erro foi embora.

Isso é um erro comum, certifique-se de que seu arquivo.war esteja construído corretamente. Basta abrir o arquivo .war e verificar se o seu WebApplicationInitializer está lá.

Para usuários do eclipse: a solução é simples, basta alterar a natureza do projeto Spring Tools-> adicionar natureza do projeto da primavera

feito.

Eu tive problema semelhante com o Tomcat 8 embutido no aplicativo java7.

Quando lancei o Tomcat no meu aplicativo, funcionou. Mas quando eu iniciei através do Maven para fins de teste de integração, recebi este erro: “Nenhum tipo de WebApplicationInitializer do Spring detectado no caminho de class”.

Eu corrigi org.apache.tomcat.embed:tomcat-embed-* atualizando as dependencies org.apache.tomcat.embed:tomcat-embed-* da versão 8.0.29 para 8.0.47.

  org.apache.maven.plugins maven-compiler-plugin  1.8 1.8   

Este é o plugin importante que deve estar em pom.xml. Passei meus dois dias depurando e pesquisando. Essa foi a solução. Este é o plugin do Apache para dizer ao maven para usar o compilador fornecido.