Tomcat + Mysql - 无法找到 java:comp

Posted

技术标签:

【中文标题】Tomcat + Mysql - 无法找到 java:comp【英文标题】:Tomcat + Mysql - Unable to find java:comp 【发布时间】:2014-06-05 22:00:54 【问题描述】:

我正在尝试使用 tomcat + mysql 开发 Web 应用程序,这是我的配置:

persistence.xml

<persistence-unit name="EntityMappings" transaction-type="RESOURCE_LOCAL">
    <provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
    <non-jta-data-source>
        java:comp/env/jdbc/EntityMappings
    </non-jta-data-source>
    <exclude-unlisted-classes>false</exclude-unlisted-classes>
    <shared-cache-mode>ENABLE_SELECTIVE</shared-cache-mode>
    <validation-mode>NONE</validation-mode>
    <properties>
        <property name="javax.persistence.schema-generation.database.action"
                  value="none" />
    </properties>
</persistence-unit>

web.xml

    <resource-ref>
    <description>MySQL Datasource example</description>
    <res-ref-name>jdbc/EntityMappings</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
</resource-ref>

context.xml(在tomcat/config下)

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

我的架构是 EntityMappings。

运行后出现一些错误:

Name [java:comp/env/jdbc/EntityMappings] is not bound in this Context. Unable to find [java:comp].

Unable to lookup JNDI name [java:comp/env/jdbc/EntityMappings]

javax.persistence.PersistenceException: Unable to build entity manager factory

我已将 mysql 驱动程序放在我的 tomcat/lib (mysql-connector-java-5.1.30-bin.jar) 下

【问题讨论】:

请同时发布您的 Spring 配置 【参考方案1】:

尝试从您的 persistence.xml 中删除 java:comp/env 前缀:

<non-jta-data-source>
    jdbc/EntityMappings
</non-jta-data-source>

【讨论】:

以上是关于Tomcat + Mysql - 无法找到 java:comp的主要内容,如果未能解决你的问题,请参考以下文章

安装配置tomcat

Window无法启动本地计算机上的tomcat 7

tomcat端口被占用

无法找到类:java.lang.ClassNotFoundException: com.mysql.jdbc.driver

mysql tomcat redis nginx 版本的查看方法

Tomcat - Mysql -Persistence...无法创建资源