有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

spring不断获得java。lang.ClassNotFoundException:com。太阳面孔。配置。配置侦听器

我正在努力解决以下例外情况:

INFO: No Spring WebApplicationInitializer types detected on classpath
Apr 17, 2017 8:48:01 AM org.apache.catalina.core.StandardContext listenerStart
SEVERE: Error configuring application listener of class org.apache.tomcat.util.descriptor.web.ApplicationListener@1e856aa
java.lang.ClassNotFoundException: com.sun.faces.config.ConfigureListener
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1465)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1310)
    at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:531)
    at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:513)
    at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:141)
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4756)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5288)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1390)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1380)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
Apr 17, 2017 8:48:01 AM org.apache.catalina.core.StandardContext listenerStart
SEVERE: Skipped installing application listeners due to previous error(s)
Apr 17, 2017 8:48:01 AM org.apache.catalina.core.StandardContext startInternal
SEVERE: Error listenerStart

我正在使用maven并在下面添加依赖项来解决这个问题,但并没有得到结果,仍然面临同样的问题

<dependency>
    <groupId>javax</groupId>
    <artifactId>javaee-web-api</artifactId>
    <version>6.0</version>
    <scope>provided</scope>
</dependency>

<dependency>
    <groupId>javax.servlet.jsp</groupId>
    <artifactId>jsp-api</artifactId>
    <version>2.1</version>
</dependency>

<dependency>
    <groupId>javax.servlet.jsp.jstl</groupId>
    <artifactId>jstl-api</artifactId>
    <version>1.2</version>
    <scope>compile</scope>
</dependency>

<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>servlet-api</artifactId>
    <version>2.5</version>
</dependency>

我已经添加了maven依赖项。对于Spring和Hibernate,我添加了所有必需的依赖项


共 (2) 个答案

  1. # 1 楼答案

    如果错误是说找不到该类,那么实际上是说JVM无法加载该类,因为JVM无法在类路径中找到该类

    然后您需要使用maven再次构建您的项目,以便创建。JVM的类文件

    或者在此之前,尝试再次将项目依赖项从远程maven存储库拉入本地maven存储库,然后执行maven构建项目以填充。类文件

    希望这有帮助

  2. # 2 楼答案

    我认为问题不在于你的依赖性。我也是春天的新手,但我认为这可能会帮助你:

    @Configuration
    public class SpringWebAppInitializer implements WebApplicationInitializer{
    
         @Override
         public void onStartup(ServletContext sc) throws ServletException {
             AnnotationConfigWebApplicationContext context = new AnnotationConfigWebApplicationContext();
             context.register(ApplicationContextConfig.class);
    
             ServletRegistration.Dynamic dispatcher = sc.addServlet("dispatcher", new DispatcherServlet(context));
             dispatcher.setLoadOnStartup(1);
             dispatcher.addMapping("/");
         }
    }