gpt4 book ai didi

java - Tomcat 不连接到数据库,但是当我从 netbeans 中运行它时,它工作得很好

转载 作者:行者123 更新时间:2023-11-29 00:00:30 25 4
gpt4 key购买 nike

我正在使用 Java + BlazeDS + MySQL + Flash Builder + EclipseLink (JPA 2.1) + Tomcat 7 (Windows)

问题是,当我在 Netbeans 中编译我的应用程序时,与数据库的连接工作正常。但是,当我使用 war 文件直接在 tomcat 中进行部署时,它不会访问数据库。

我尝试了多个版本的 tomcat,包括 tomcat netbeans,但没有成功。仅当我从 Netbeans 中运行项目时才有效

我快要疯了,想解决这个问题,有人遇到过这个问题吗?

非常感谢任何帮助

我的 persistence.xml 文件:

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
<persistence-unit name="goncricPU" transaction-type="RESOURCE_LOCAL">
<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
<class>entidade.sancric</class>
<class>entidade.logincric</class>
<exclude-unlisted-classes>false</exclude-unlisted-classes>
<properties>
<property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/derea? zeroDateTimeBehavior=convertToNull"/>
<property name="javax.persistence.jdbc.password" value="qwaszx"/>
<property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/>
<property name="javax.persistence.jdbc.user" value="derea"/>
<property name="eclipselink.ddl-generation" value="create-tables"/>
</properties>
</persistence-unit>
</persistence>

.......

在数据库中持久化的文件:

 */
public class persistir {
EntityManagerFactory emf = Persistence.createEntityManagerFactory("goncricPU");

public void persist(Object object) {
EntityManager em = emf.createEntityManager();
try {
em.getTransaction().begin();
em.persist(object);
em.getTransaction().commit();
} catch (Exception e) {
Logger.getLogger(getClass().getName()).log(Level.SEVERE, "exception caught", e);
em.getTransaction().rollback();
} finally {
em.close();
}
}

}

最佳答案

当我看到“完美”、“绝对”和“没有消息”时,我总是很怀疑。

我会将您从 NetBeans 中获得的任何行为视为转移注意力的行为。它是一个 IDE,不会成为您的生产部署的一部分。如果您不考虑 NetBeans,您的进步会更快。

我的第一个猜测是您在 Tomcat/lib 文件夹中没有 MySQL JDBC 连接器 JAR。 Tomcat 7 要求它在那里找到 JDBC 驱动程序 JAR,而不是在其他任何地方。如果您的 WAR 文件中有它,我建议您将它从应用程序包中移出并移到应用程序服务器上。

你在使用连接池吗?有 JNDI 资源吗?您的应用程序中是否配置了 log4j?有没有类似 Spring 的框架?

您没有提供任何其他信息,因此在您可以告诉我们更多信息之前,我们只能进行有根据的猜测。

关于java - Tomcat 不连接到数据库,但是当我从 netbeans 中运行它时,它工作得很好,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18448424/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com