首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在windows上部署Libreplan时获取tomcat错误

在windows上部署Libreplan时获取tomcat错误
EN

Stack Overflow用户
提问于 2014-12-16 14:24:04
回答 2查看 1.1K关注 0票数 0

我已经从存储库和eclipse导入了Libreplan的代码库。现在,我正在尝试将libreplan-webapp部署到tomcat7中。我也配置了数据源文件,它存在于Tomcat-7.0.39\conf\Catalina\localhost目录中。libreplan-webapp.xml给出

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<Context antiJARLocking="true" path="">
        <Resource name="jdbc/libreplan-ds" auth="Container"
            type="javax.sql.DataSource"
            maxActive="100" maxIdle="30" maxWait="10000"
            username="libreplan" password="libreplan"
            driverClassName="com.mysql.jdbc.Driver"
            url="jdbc:mysql://localhost/libreplandev" />
</Context>

我按照手动[http://www.libreplan.org/INSTALL.html]中给出的所有指令构建wepapp并将其部署到tomcat上。但是当我开始做猫的时候,我得到的是错误。

代码语言:javascript
复制
SEVERE: A child container failed during start
java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/libreplan-webapp]]
    at java.util.concurrent.FutureTask.report(Unknown Source)
    at java.util.concurrent.FutureTask.get(Unknown Source)
    at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1123)
    at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:800)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
    at java.util.concurrent.FutureTask.run(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/libreplan-webapp]]
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
    ... 6 more
Caused by: java.lang.NoClassDefFoundError: org/springframework/beans/factory/ListableBeanFactory
    at java.lang.Class.getDeclaredFields0(Native Method)

这是web.xml

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4"
    xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
  http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
    <display-name>libreplan-webapp</display-name>

    <!--
        It searches all libreplan-business-spring-config.xml files, it can
        found several. There must be at least one. It searches
        libreplan-webapp-spring-config.xml. There must be just one. It
        searches libreplan-override-spring-config.xml to override some
        previous definitions. There could be several or none.
    -->
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>
            classpath*:/libreplan-business-spring-config.xml
            classpath:/libreplan-webapp-spring-config.xml
            classpath*:/libreplan-override-spring-config.xml
            classpath:/libreplan-webapp-spring-security-config.xml
        </param-value>
    </context-param>


    <!-- /// -->
    <!-- DSP -->
    <servlet>
        <description><![CDATA[The servlet loads the DSP pages.]]></description>
        <servlet-name>dspLoader</servlet-name>
        <servlet-class>org.zkoss.web.servlet.dsp.InterpreterServlet</servlet-class>
    </servlet>
    <servlet>
        <description><![CDATA[Callback Servlet]]></description>
        <servlet-name>callbackServlet</servlet-name>
        <servlet-class>org.zkoss.ganttz.servlets.CallbackServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>callbackServlet</servlet-name>
        <url-pattern>/callback/*</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>dspLoader</servlet-name>
        <url-pattern>*.dsp</url-pattern>
    </servlet-mapping>
    <!-- /// -->

    <!-- Spring security -->
    <filter>
        <filter-name>springSecurityFilterChain</filter-name>
        <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
    </filter>

    <filter-mapping>
        <filter-name>springSecurityFilterChain</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

    <!-- //// -->
    <listener>
        <listener-class>org.libreplan.web.LoggingConfiguration</listener-class>
    </listener>

    <!-- ZK -->
    <listener>
        <description>Used to cleanup when a session is destroyed</description>
        <display-name>ZK Session Cleaner</display-name>
        <listener-class>org.zkoss.zk.ui.http.HttpSessionListener</listener-class>
    </listener>

    <!-- Spring listeners -->

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

    <!-- end Spring listeners -->

    <!-- Loads all IDataBootstrap and executes them -->
    <listener>
        <listener-class>org.libreplan.web.bootstrap.BootstrapListener</listener-class>
    </listener>

    <servlet>
        <description>ZK loader for ZUML pages</description>
        <servlet-name>zkLoader</servlet-name>
        <servlet-class>org.zkoss.zk.ui.http.DHtmlLayoutServlet</servlet-class>
        <!--
            Must. Specifies URI of the update engine (DHtmlUpdateServlet). It
            must be the same as <url-pattern> for the update engine.
        -->
        <init-param>
            <param-name>update-uri</param-name>
            <param-value>/zkau</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>zkLoader</servlet-name>
        <url-pattern>*.zul</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>zkLoader</servlet-name>
        <url-pattern>*.zhtml</url-pattern>
    </servlet-mapping>
    <servlet>
        <description>The asynchronous update engine for ZK</description>
        <servlet-name>auEngine</servlet-name>
        <servlet-class>org.zkoss.zk.au.http.DHtmlUpdateServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>auEngine</servlet-name>
        <url-pattern>/zkau/*</url-pattern>
    </servlet-mapping>
    <!-- //// -->

    <!-- CXF -->
    <servlet>
        <display-name>CXF Servlet</display-name>
        <servlet-name>CXFServlet</servlet-name>
        <servlet-class>
            org.apache.cxf.transport.servlet.CXFServlet
        </servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>CXFServlet</servlet-name>
        <url-pattern>/ws/rest/*</url-pattern>
    </servlet-mapping>

    <session-config>
        <!-- The session timeout is ten minutes. A timer is used to keep the session alive if there is some open page -->
        <session-timeout>10</session-timeout>
    </session-config>

    <welcome-file-list>
        <welcome-file>/common/index.zul</welcome-file>
    </welcome-file-list>

    <error-page>
        <exception-type>java.lang.Throwable</exception-type>
        <location>/common/error.zul</location>
    </error-page>

    <error-page>
        <error-code>404</error-code>
        <location>/common/page_not_found.zul</location>
    </error-page>

    <error-page>
        <error-code>403</error-code>
        <location>/common/access_forbidden.zul</location>
    </error-page>

</web-app>

配置: java版本: 1.7.0_55-b13服务器:Tomcat-7.0.39操作系统: Window 7 DB : MySql

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-12-17 09:16:47

我自己解决了这个问题,在windows上运行Libreplan。配置有很多问题。首先,错误消息是误导性的,它与ListableBeanFactory无关。我做了以下更改:将libreplan.xml重命名为tomcat\conf\Catalina\localhost文件夹中的libreplan-webapp.xml,作为应数学应用程序war名称的文件名。然后,我从3.5开始删除hibernate-注释依赖项,因为hibernate-core jar附带注释。我在catalina.policy文件中添加了下面的条目

代码语言:javascript
复制
grant codeBase "file:${catalina.home}/bin/tomcat-juli.jar" {
  ...
  // begin:libreplan
  permission java.io.FilePermission "${catalina.base}${file.separator}webapps${file.separator}libreplan-webapp${file.separator}WEB-INF${file.separator}classes${file.separator}logging.properties", "read";
  // end:libreplan
  ...
};
票数 0
EN

Stack Overflow用户

发布于 2014-12-16 14:38:03

相关的错误消息是"java.lang.NoClassDefFoundError: org/springframework/beans/factory/ListableBeanFactory"

因此,看起来要么在运行时类路径中没有必需的Spring库,要么在运行时有一个旧版本。

由于ListableBeanFactory是在很久以前的Spring2.0中引入的,所以它更有可能是丢失了而不是太旧了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27506823

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档