Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Hibernate代码不适用于live server,但适用于localhost_Java_Hibernate_Netbeans_Compiler Errors - Fatal编程技术网

Java Hibernate代码不适用于live server,但适用于localhost

Java Hibernate代码不适用于live server,但适用于localhost,java,hibernate,netbeans,compiler-errors,Java,Hibernate,Netbeans,Compiler Errors,我在Hibernate中遇到了问题。我的代码是在本地服务器上工作的,而不是在实时服务器上。我正在使用 public void saveEmployee(Emp employee) { Session session = HibernateUtil.getSessionFactory().openSession(); Transaction transaction = session.beginTransaction(); session.save(employee

我在Hibernate中遇到了问题。我的代码是在本地服务器上工作的,而不是在实时服务器上。我正在使用

    public void saveEmployee(Emp employee) {
    Session session = HibernateUtil.getSessionFactory().openSession();
    Transaction transaction = session.beginTransaction();
    session.save(employee);
    transaction.commit();
    session.close();
}
用于数据保存。对于HibernateUtil:

import org.hibernate.cfg.AnnotationConfiguration;
import org.hibernate.SessionFactory;

/**
 * Hibernate Utility class with a convenient method to get Session Factory
 * object.
 *
 * @author Jitendra
 */
public class HibernateUtil {

  private static final SessionFactory sessionFactory;

  static {
    try {
        // Create the SessionFactory from standard (hibernate.cfg.xml) 
        // config file.
        sessionFactory = new AnnotationConfiguration().configure().buildSessionFactory();
    } catch (Throwable ex) {
        // Log the exception. 
        System.err.println("Initial SessionFactory creation failed." + ex);
        throw new ExceptionInInitializerError(ex);
    }
}

  public static SessionFactory getSessionFactory() {
    return sessionFactory;
  }
}

使用此代码

stacktrace上的错误是

java.lang.NoClassDefFoundError: Could not initialize class javainfinite.DAOImpl.HibernateUtil
at javainfinite.DAOImpl.EmployeeDaoImpl.showAllEmployees(EmployeeDaoImpl.java:37)
at Controller.EmployeeController.doPost(EmployeeController.java:51)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:644)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:516)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1086)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:659)
at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:285)
at org.apache.tomcat.util.net.AprEndpoint$SocketWithOptionsProcessor.run(AprEndpoint.java:2376)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)

几天前我也遇到了同样的错误。“NoClassDefFoundError”异常告诉您,您的类不是由编译器/生成器发布的。因此,它在您的实时系统上不可用


在我的例子中,我想将导入的java类发布到tomcat服务器。我的解决方案是调整tomcat的部署描述符,并添加导入的类以将其发布到库文件夹中

远程Mysql数据库访问
尝试在CPanel works for me中的远程Mysql中添加您的ip

您可以将堆栈跟踪添加到问题中,而不是发布屏幕截图吗?在您放置hibernate配置文件的位置添加完整的堆栈跟踪(所有异常都是由异常引起的)?insight default PackeGet消息实际上非常清楚:“java.lang.NoClassDefFoundError:无法初始化类javainfinite.DAOImpl.HibernateUtil”-您的类
HibernateUtil
(根据名称,我假设它是
javainfinite.DAOImpl
的内部类)找不到。我假设打包或类路径有问题,所以您应该检查一下。如果我像您一样遵循相同的过程,您可以向我展示/解释如何准确地解决它。我使用Eclipse IDE。在那里,您可以右键单击项目并转到属性。选择“部署程序集”“。在那里,您必须添加所有应发布到服务器的JAR(例如,对于Tomcat,添加到“WEB-INF/lib”文件夹)。