복붙노트

[SPRING] 정보 : 없음 스프링 WebApplicationInitializer 형식을 클래스 경로에서 검색되었습니다.

SPRING

정보 : 없음 스프링 WebApplicationInitializer 형식을 클래스 경로에서 검색되었습니다.

Eclipse에서 배포 할 때 tomcat7 서버에서 잘 실행되는 봄 프로젝트가 있습니다. Run As >> Run on server. 이클립스 탭에서 "서버"를 볼 수 있습니다.

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

내 프로젝트 :

나는 그 프로젝트가 다음과 같다는 것을 알았다.

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

그리고 conf, logs, temp, webapps, work, wtpwebapps 폴더도 볼 수 있습니다.

나는 Eclipse에서 배포 할 때 모든 Tomcat7 서버에서 제대로 실행되는지 확인합니다!

이클립스 콘솔에서 나는 얻는다 :

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

지금 : 문제 그것은 동일한 tomcat7 서버 / var / lib / tomcat7 / webapps에 동일한 응용 프로그램 (파일 .war 사용)을 배포 할 때입니다.

나는 데이터없이 나의 초기 페이지 웹을 열 수 있지만,

나는 기록에서 본다 :

INFO: No Spring WebApplicationInitializer types detected on classpath

tomcat7을 다시 시작하면 로그 파일에 다음과 같이 표시됩니다.

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

해결법

  1. ==============================

    1.오류 발견 : JDK 1.6을 사용하여 만든 라이브러리가 있습니다. Spring 메인 컨트롤러와 컴포넌트는이 라이브러리에있다. 그리고 jdk 1.7을 사용하는 방법은 1.6에서 빌드 된 클래스를 찾지 못합니다.

    오류 발견 : JDK 1.6을 사용하여 만든 라이브러리가 있습니다. Spring 메인 컨트롤러와 컴포넌트는이 라이브러리에있다. 그리고 jdk 1.7을 사용하는 방법은 1.6에서 빌드 된 클래스를 찾지 못합니다.

    이 솔루션은 "컴파일러 준수 수준 : 1.7"및 "생성 된 .class 파일 호환성 : 1.6", "소스 호환성 : 1.6"을 사용하여 모두 구축되었습니다.

    Eclipse에서이 옵션을 설정했습니다. 환경 설정 \ Java \ Compiler.

    모든 분에게 감사합니다.

  2. ==============================

    2.내 어리석은 이유는 : Build Automatically disabled!

    내 어리석은 이유는 : Build Automatically disabled!

  3. ==============================

    3.WebLogic Server에서 스프링 통합 Bean을 사용하여 WAR를 배포하는 동안이 정보 메시지에 "클래스 경로에서 No WebApplicationInitializer 유형이 감지되었습니다"라는 메시지가 표시되었습니다. 실제로 서블릿 URL이 404 찾을 수 없음을 알았고 서버 로그에 "No Spring ... etc"라는 부정적인 음색을 가진 정보 메시지 옆에 아무 것도 겉으로는 내 봄 구성에 오류가 없었습니다. 빌드 또는 배포 오류가없고 불만이 없습니다. 실제로 beans.xml (스프링 컨텍스트 XML)은 실제로 전혀 선택되지 않았으며 오라클의 jDeveloper에서 생성 된 매우 구체적인 조직 구성과 관련이있는 것으로 추측됩니다. 이 솔루션은 프로젝트 속성의 '배포'항목에서 배포 프로필을 편집 할 때 WEB-INF / classes 범주의 '참여자'및 '필터'를 사용하여주의 깊게 재생하는 것입니다.

    WebLogic Server에서 스프링 통합 Bean을 사용하여 WAR를 배포하는 동안이 정보 메시지에 "클래스 경로에서 No WebApplicationInitializer 유형이 감지되었습니다"라는 메시지가 표시되었습니다. 실제로 서블릿 URL이 404 찾을 수 없음을 알았고 서버 로그에 "No Spring ... etc"라는 부정적인 음색을 가진 정보 메시지 옆에 아무 것도 겉으로는 내 봄 구성에 오류가 없었습니다. 빌드 또는 배포 오류가없고 불만이 없습니다. 실제로 beans.xml (스프링 컨텍스트 XML)은 실제로 전혀 선택되지 않았으며 오라클의 jDeveloper에서 생성 된 매우 구체적인 조직 구성과 관련이있는 것으로 추측됩니다. 이 솔루션은 프로젝트 속성의 '배포'항목에서 배포 프로필을 편집 할 때 WEB-INF / classes 범주의 '참여자'및 '필터'를 사용하여주의 깊게 재생하는 것입니다.

    정확히 말하자면 jDeveloper의 기본 beans.xml을 봄 컨텍스트로 명명하고 WEB-INF 하위 디렉토리 (웹 응용 프로그램 소스 경로 아래에 <... your project path> / public_html /). 그런 다음 WEB-INF / classes 범주 (배포 프로필을 편집 할 때)에서 'Contributor'목록의 Project HTML 루트 디렉토리를 확인한 다음 필터에서 beans.xml을 선택한 다음 web.xml 기능이 classpath : beans.xml과 같은 context-param 값.

    일단 그것이 고쳐지면, 나는 더 많은 bean 설정 변경과 구현 후에 진행할 수 있었고, "No Spring WebApplicationInitializer types are classpath"가 돌아왔다! 실제로, 언제 그리고 왜 정확히 돌아 왔는지 나는 눈치 채지 못했습니다. 두 번째로, 나는

    public class HttpGatewayInit implements WebApplicationInitializer { ... }
    

    빈 상속 된 메서드를 구현하는 및 전체 응용 프로그램을 잘 작동합니다!

    ... Java EE 개발이 변형 초기화 프로그램의 계단식으로 요약 된 XML 구성 파일 (수동으로 편집 된 파일, 마법사를 통해 편집 된 파일)의 계단에서 너무 미친 듯이 느껴지면 필자의 주장을 완전히 나눌 것을 주장하자.

  4. ==============================

    4.log4j가 올바르게 구성되었는지 확인하십시오. 아마도 예외가 발생하지만 화면의 절반 만 볼 수 있습니다.

    log4j가 올바르게 구성되었는지 확인하십시오. 아마도 예외가 발생하지만 화면의 절반 만 볼 수 있습니다.

    https://stackoverflow.com/a/16817018/1249304를 참조하십시오.

  5. ==============================

    5.나는 또한 같은 문제가 있었다. 내 maven에는 tomcat7 플러그인이 있지만 JRE 환경은 1.6입니다. 내 tomcat7을 tomcat6으로 변경했는데 오류가 사라졌습니다.

    나는 또한 같은 문제가 있었다. 내 maven에는 tomcat7 플러그인이 있지만 JRE 환경은 1.6입니다. 내 tomcat7을 tomcat6으로 변경했는데 오류가 사라졌습니다.

  6. ==============================

    6.이것은 일반적인 오류이므로 file.war이 올바르게 작성되었는지 확인하십시오. .war 파일을 열고 WebApplicationInitializer가 있는지 확인하십시오.

    이것은 일반적인 오류이므로 file.war이 올바르게 작성되었는지 확인하십시오. .war 파일을 열고 WebApplicationInitializer가 있는지 확인하십시오.

  7. ==============================

    7.Tomcat 8 java7 응용 프로그램에 포함 된 비슷한 문제가있었습니다.

    Tomcat 8 java7 응용 프로그램에 포함 된 비슷한 문제가있었습니다.

    내 응용 프로그램에서 Tomcat을 시작하면 작동했습니다. 그러나 Maven을 통해 통합 테스트 목적으로이를 시작했을 때 "클래스 경로에서 스프링 WebApplicationInitializer 유형이 감지되지 않았습니다."라는 오류가 발생했습니다.

    나는 org.apache.tomcat.embed : tomcat-embed- * 버전 8.0.29에서 8.0.47로 업그레이드하여 문제를 해결했습니다.

  8. ==============================

    8.Eclipse 사용자의 경우 : 솔루션은 간단합니다. 프로젝트의 성격을 바꿔 봄 도구 -> 봄 프로젝트 자연 추가

    Eclipse 사용자의 경우 : 솔루션은 간단합니다. 프로젝트의 성격을 바꿔 봄 도구 -> 봄 프로젝트 자연 추가

    끝난.

  9. ==============================

    9.

    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>          
        <configuration>
            <source>1.8</source>
            <target>1.8</target>
        </configuration>
     </plugin>
    

    이것은 pom.xml에 있어야하는 중요한 플러그인입니다. 디버깅과 연구에 2 일을 보냈습니다. 이것이 해결책이었습니다. 이것은 주어진 컴파일러를 사용하도록 maven에게 알려주는 아파치 플러그인입니다.

  10. from https://stackoverflow.com/questions/22938689/info-no-spring-webapplicationinitializer-types-detected-on-classpath by cc-by-sa and MIT license