当前位置: 首页 > 知识库问答 >
问题:

启动web应用程序时出现IllegalStateException-Spring+Wicket

诸葛嘉熙
2023-03-14

我正试图用Tomcat7运行我的webapp,但我遇到了这个例外:

Grave:Excepción arrancando filtro Wicket.Filter java.lang.IllegalStateException:在org.apache.Wicket.Spring.SpringWebApplicationFactory.createApplication(SpringWebApplicationFactory.createApplication(SpringWebApplicationFactory.java:160)在org.apache.Wicket.Spring.SpringWebApplicationFactory.createApplication(SpringWebApplicationFactory.java:139)在org.apache.Wicket.Protocol.http.WicketFilter.init(WicketFilter.java:308)在org.apache.Wicket.Protocol.http.WicketFilter.init(eTfilter.java:286)在org.apache.catalina.core.applicationfilterconfig.initfilter(applicationfilterconfig.java:279)在org.apache.catalina.core.applicationfilterconfig.getfilter(applicationfilterconfig.java:260)在.util.LifeCycleBase.Start(LifeCycleBase.java:150)在org.apache.catalina.core.ContainerBase$startChild.Call(containerBase.java:1574)在org.apache.catalina.core.ContainerBase$startChild.Call(containerBase.java:1564)在java.util.concurrent.FutureTask.Run(未知源)在java.util.concurrent.ThreadPoolExecutor.Runworker(未知源)在java.util.concurrent.ThreadPoolExecutor.Runworker(未知源)在java.lang.Thread.Run(未知源)在

这是我的web.xml:

http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd“version=”2.4“>

<display-name>Archetype Created Web Application</display-name>

<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>       
        classpath:*/META-INF/persistence-context.xml,
        classpath:*/META-INF/service-context.xml,
        classpath:*/META-INF/web-context.xml
    </param-value>
</context-param>

<context-param>
    <param-name>configuration</param-name>
    <param-value>development</param-value>
</context-param>

<listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

<filter>
    <filter-name>wicket.filter</filter-name>
    <filter-class>org.apache.wicket.protocol.http.WicketFilter</filter-class>
    <init-param>
        <param-name>applicationFactoryClassName</param-name>
        <param-value>org.apache.wicket.spring.SpringWebApplicationFactory</param-value>
    </init-param>
</filter>

<filter-mapping>
    <filter-name>wicket.filter</filter-name>
    <url-pattern>/*</url-pattern>
    <dispatcher>REQUEST</dispatcher>
    <dispatcher>ERROR</dispatcher>
</filter-mapping>

<session-config>
    <session-timeout>7200</session-timeout>
</session-config>

唯一使用WebApplication的类是我的类MounterURL:

private WebApplication webApplication;

public MounterURL(final WebApplication webApplication) {
    this.webApplication = webApplication;
}

/**
 * @param mountPath
 *            Mount path (not empty)
 * @param pageClass
 *            Class of mounted page (not null)
 * @param parameters
 *            The parameter names (not null)
 */
public void mount(final String mountPath,final Class<? extends WebPage> pageClass, final String... parameters) {
    webApplication.mountPage(mountPath, pageClass);
}
private MounterURL aMounterURL;

private GeneralService generalService;

@Override
protected Class<? extends AbstractAuthenticatedWebSession> getWebSessionClass() {
     return WebSession.class;
}

@Override
public Class<? extends Page> getHomePage() {
     return Home.class;
}

public String getContextPath() {
    return this.getServletContext().getContextPath();
}

@Override
public void init() {
    **aMounterURL = new MounterURL(this);**

    this.getComponentInstantiationListeners().add(new SpringComponentInjector(this));

    this.mountUrl("home", Home.class, "");
}

private void mountUrl(final String mountPath, final Class<? extends WebPage> pageClass, final String... parameters) {
    aMounterURL.mount(mountPath, pageClass, parameters);
}
<bean id="wicketApplication" class="home.MyApplication">
    <property name="generalService" ref="services.general"></property>
</bean>

共有1个答案

怀浩大
2023-03-14

您似乎缺少了一个WebApplication类型的bean。您是否扩展了Wickets WebApplication类并将其添加为bean。例如使用@configuration?

 类似资料:
  • 当启动部署在Kubernetes中的spring应用程序时,会出现以下logback错误。 2022-04-20 13:47:25.928错误1 --- [ main]o.s.boot.SpringApplication:应用程序运行失败 java.lang.IllegalStateException:检测到注销配置错误:中的错误c.q.l.core.rolling.SizeAndTimeBase

  • 使用启动一个非常基本的Spring Boot应用程序来检索可以正常工作。但是,当我将添加到项目中以获得web服务支持时,和应用程序无法启动。 pom.xml Java bootstrap.yml

  • 我有一个应用程序与,我第一次创建表没有问题,但当我再次启动它时,我有一个我无法解决的问题。 这是错误: 我尝试了以下方法,但未能解决问题: - - - 但我试过的方法都没有解决这个问题。我如何解决这个问题才能顺利启动应用程序?

  • 我想对Spring数据使用ElasticSearch。我使用的是Spring 5、Spring Boot 2和ElasticSearch 7.4。Docker compose: 马文: 存储库: 配置: 和错误时启动应用程序: 引起:java.lang.NoSuchMEDError:org.springframework.http.HttpHeaders.(Lorg/springframe/uti

  • 我正在尝试使用简单的spring启动应用程序。我在ApplicationContext上启动应用程序时遇到问题。 2017-04-26 11:17:31.101警告14528---[main]s.c.a.AnnotationConfigApplicationContext:上下文初始化期间遇到异常-取消刷新尝试:org。springframework。豆。工厂未满足的PendencyExcepti

  • 我还有一个其他相同的eclipse(相同的版本等等...它来自同一个.zip存档),在这里我可以为另一个项目运行相同类型的测试。我已经检查了配置,我没有发现任何差异。因此,我目前无法理解是什么导致了这个问题。 非常感谢你能帮我解决这个问题,