2013-04-29 2 views
2

Я пытался выяснить, как настроить Tapestry5, Hibernate, Tomcat7 и Mysql, но не смог заставить его работать. Может ли кто-нибудь сказать мне, что я делаю неправильно?Как настроить Tapestry5, Hibernate, Tomcat7, JNDI, Mysql

Для начала с того, Гобелен уже настроен для работы с Hibernate и причалом без проблем, у меня трудности создания пула соединений с Tomcat7

То, что я до сих пор.

MyApp Конфигурация

hibernate.cfg.xml

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"> 
<hibernate-configuration> 
    <session-factory> 
     <property name="hibernate.connection.datasource">java:comp/env/jdbc/rolemanager</property> 
     <property name="hbm2ddl.auto">create</property> 
     <property name="hibernate.show_sql">false</property> 
    </session-factory> 
</hibernate-configuration> 

MyApp/Web Pages/WEB-INF/web.xml

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE web-app 
     PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" 
     "http://java.sun.com/dtd/web-app_2_3.dtd"> 
<web-app> 
    <display-name>rolemanager Tapestry 5 Application</display-name> 
    <context-param> 
     <!-- The only significant configuration for Tapestry 5, this informs Tapestry 
of where to look for pages, components and mixins. --> 
     <param-name>tapestry.app-package</param-name> 
     <param-value>com.mycompany.rolemanager</param-value> 
    </context-param> 
    <filter> 
     <filter-name>app</filter-name> 
     <filter-class>org.apache.tapestry5.TapestryFilter</filter-class> 
    </filter> 
    <filter-mapping> 
     <filter-name>app</filter-name> 
     <url-pattern>/*</url-pattern> 
    </filter-mapping> 

    <resource-ref> 
     <description>MyDatabase Description</description> 
     <res-ref-name>jdbc/rolemanager</res-ref-name> 
     <res-type>javax.sql.DataSource</res-type> 
     <res-auth>Container</res-auth> 
    </resource-ref> 

</web-app> 

конфигурации Tomcat

Tomcat7/CONF/server.xml

<GlobalNamingResources> 
    <!-- Editable user database that can also be used by 
     UserDatabaseRealm to authenticate users 
    --> 
    <Resource name="UserDatabase" auth="Container" 
       type="org.apache.catalina.UserDatabase" 
       description="User database that can be updated and saved" 
       factory="org.apache.catalina.users.MemoryUserDatabaseFactory" 
       pathname="conf/tomcat-users.xml" /> 

    <Resource name="jdbc/rolemanager" auth="Container" type="javax.sql.DataSource" 
       maxActive="100" maxIdle="30" maxWait="10000" 
       username="root" password="test" driverClassName="com.mysql.jdbc.Driver" 
       url="jdbc:mysql://localhost:3306/rolemanager"/> 

    </GlobalNamingResources> 

Tomcat7/CONF/context.xml

<Context> 

    <!-- Default set of monitored resources --> 
    <WatchedResource>WEB-INF/web.xml</WatchedResource> 

    <!-- Uncomment this to disable session persistence across Tomcat restarts --> 
    <!-- 
    <Manager pathname="" /> 
    --> 

    <!-- Uncomment this to enable Comet connection tacking (provides events 
     on session expiration as well as webapp lifecycle) --> 
    <!-- 
    <Valve className="org.apache.catalina.valves.CometConnectionManagerValve" /> 
    --> 

    <WatchedResource>WEB-INF/web.xml</WatchedResource> 
    <ResourceLink global="jdbc/rolemanager" name="jdbc/rolemanager" type="javax.sql.DataSource"/> 

</Context> 

консоли Ошибка

Я получаю следующую консольную ошибку.

SEVER: Parse error in application web.xml file at jndi:localhost/WEB-INF/web.xml 
java.lang.NoSuchMethodException: org.apache.catalina.deploy.WebXml addResourceRef 

ответ

0

Это была проблема с зависимостью в моем пом, добавляющем конфликтующие классы. Мне удалось удалить конфликтующие классы из моего пути класса и устранить проблему.

Смежные вопросы