简体   繁体   English

Hibernate ClassNotFoundException用于配置

[英]Hibernate ClassNotFoundException for Configuration

I have been trying to setup Wicket with Hibernate and MySQL for a good few hours at this point. 此时,我已经尝试用Hibernate和MySQL设置Wicket了好几个小时。 I am using Maven as for dependency management. 我正在使用Maven作为依赖性管理。 Admittedly I am a bit new to Jave 2EE and if there is anything else I can provide let me know and I will get it. 诚然,我对Jave 2EE有点陌生,如果还有其他我可以提供的信息,请告诉我,我会得到的。

My HibernateUtil (this is one of many attempts but make the most sense to me) 我的HibernateUtil(这是许多尝试之一,但对我来说最有意义)

public class HibernateUtil{
    private static SessionFactory sessionFactory = initSessionFactory();
    private static Properties getHibernateProperties(){
        return new Properties(){
        {
            setProperty("hibernate.dialect", "org.hibernate.dialect.MySQLDialect");
            setProperty("hibernate.connection.driver_class","com.mysql.jdbc.Driver");
            setProperty("hibernate.connection.url","jdbc:mysql://192.168.33.15/eventApp");
            setProperty("hibernate.connection.username","root");
            setProperty("hibernate.connection.password","test101");
        }
    };
}

private static SessionFactory initSessionFactory(){
    Configuration cfg = new Configuration();
    cfg.setProperties(getHibernateProperties());
    return cfg.buildSessionFactory();
}
public static SessionFactory getSessionFactory(){
    return sessionFactory;
}

} }

I can look in the JARs and see the Configuration.java yet when I save a form that calls to HomePage.java 当我保存一个调用HomePage.java的表单时,我可以查看JAR并看到Configuration.java。

public class HomePage extends BaseTemplate {
    Event event= new Event();
    // TODO Add any page properties or variables here

/**
 * Constructor that is invoked when page is invoked without a session.
 * 
 * @param parameters
 *            Page parameters
 */
public HomePage(final PageParameters parameters) {

    Form createEventForm = new Form("createEventForm"){
        @Override
        protected void onSubmit() {
            super.onSubmit();
            System.out.println("### Event name: " + event.getEventName());

            SessionFactory sessionFactory = HibernateUtil.getSessionFactory();
            Session session = sessionFactory.openSession();
            session.getTransaction().begin();
            session.persist( event ); // cascades the tool & skill relationships
            session.getTransaction().commit();
        }
    };

    TextField eventName = new TextField("eventName",new PropertyModel(event, "eventName"));

    createEventForm.add(eventName);
    add(createEventForm);

}

} }

The call to HibernateUtil fails with the below 调用HibernateUtil失败,并显示以下内容

java.lang.ClassNotFoundException: javax.transaction.SystemException
 at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1333)
 at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1167)
 at java.lang.Class.forName0(Native Method)
 at java.lang.Class.forName(Unknown Source)
 at org.jboss.logging.Logger$1.run(Logger.java:2554)
 at java.security.AccessController.doPrivileged(Native Method)
 at org.jboss.logging.Logger.getMessageLogger(Logger.java:2529)
 at org.jboss.logging.Logger.getMessageLogger(Logger.java:2516)
 at org.hibernate.internal.CoreLogging.messageLogger(CoreLogging.java:28)
 at org.hibernate.internal.CoreLogging.messageLogger(CoreLogging.java:24)
 at org.hibernate.cfg.Configuration.<clinit>(Configuration.java:86)
 at com.dappercloud.wicket.wicket.util.HibernateUtil.initSessionFactory(HibernateUtil.java:29)
 at com.dappercloud.wicket.wicket.util.HibernateUtil.<clinit>(HibernateUtil.java:15)
 at com.dappercloud.wicket.wicket.home.HomePage$1.onSubmit(HomePage.java:40)
 at org.apache.wicket.markup.html.form.Form.delegateSubmit(Form.java:1328)
 at org.apache.wicket.markup.html.form.Form.onFormSubmitted(Form.java:776)
 at java.lang.reflect.Method.invoke(Unknown Source)
 at org.apache.wicket.RequestListenerInterface.invoke(RequestListenerInterface.java:183)
 at org.apache.wicket.request.target.component.listener.ListenerInterfaceRequestTarget.processEvents(ListenerInterfaceRequestTarget.java:73)
 at org.apache.wicket.request.AbstractRequestCycleProcessor.processEvents(AbstractRequestCycleProcessor.java:91)
 at org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1166)
 at org.apache.wicket.RequestCycle.step(RequestCycle.java:1243)
 at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1330)
 at org.apache.wicket.RequestCycle.request(RequestCycle.java:493)
 at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:358)
 at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:194)
 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:212)
 at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
 at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
 at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)
 at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
 at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)
 at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
 at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:521)
 at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1096)
 at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:674)
 at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1500)
 at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1456)
 at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
 at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
 at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
 at java.lang.Thread.run(Unknown Source)

My pom file as requested 我的pom文件按要求

<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

<modelVersion>4.0.0</modelVersion>
<groupId>com.dappercloud.wicket</groupId>
<artifactId>wicket</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<!-- TODO project name  -->
<name>quickstart</name>
<description></description>

<!-- TODO
    <organization>
    <name>company name</name>
    <url>company url</url>
    </organization>
-->

<licenses>
    <license>
        <name>The Apache Software License, Version 2.0</name>
        <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
        <distribution>repo</distribution>
    </license>
</licenses>

<dependencies>
    <!--  WICKET DEPENDENCIES -->

    <dependency>
        <groupId>org.apache.wicket</groupId>
        <artifactId>wicket</artifactId>
        <version>${wicket.version}</version>
    </dependency>
    <!-- OPTIONAL 
        <dependency>
        <groupId>org.apache.wicket</groupId>
        <artifactId>wicket-extensions</artifactId>
        <version>${wicket.version}</version>
        </dependency>
    -->

    <!-- LOGGING DEPENDENCIES - LOG4J -->

    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-log4j12</artifactId>
        <version>1.4.2</version>
    </dependency>
    <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>1.2.14</version>
    </dependency>

    <!--  JUNIT DEPENDENCY FOR TESTING -->
     <dependency>
             <groupId>junit</groupId>
             <artifactId>junit</artifactId>
             <version>3.8.2</version>
             <scope>test</scope>
     </dependency>

    <!--  JETTY DEPENDENCIES FOR TESTING  -->

    <dependency>
        <groupId>org.mortbay.jetty</groupId>
        <artifactId>jetty</artifactId>
        <version>${jetty.version}</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>org.mortbay.jetty</groupId>
        <artifactId>jetty-util</artifactId>
        <version>${jetty.version}</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>org.mortbay.jetty</groupId>
        <artifactId>jetty-management</artifactId>
        <version>${jetty.version}</version>
        <scope>provided</scope>
    </dependency>

    <!-- MYSQL JDBC -->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>5.1.38</version>
    </dependency>

    <!-- JPA Hibernate -->
    <dependency>
      <groupId>org.hibernate</groupId>
      <artifactId>hibernate-core</artifactId>
       <version>5.0.6.Final</version>
    </dependency>
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-entitymanager</artifactId>
        <version>5.0.6.Final</version>
    </dependency>

</dependencies>

<build>
    <resources>
        <resource>
            <filtering>false</filtering>
            <directory>src/main/resources</directory>
        </resource>
        <resource>
            <filtering>false</filtering>
            <directory>src/main/java</directory>
            <includes>
                <include>**</include>
            </includes>
            <excludes>
                <exclude>**/*.java</exclude>
            </excludes>
        </resource>
    </resources>
    <testResources>
        <testResource>
            <filtering>false</filtering>
            <directory>src/test/java</directory>
            <includes>
                <include>**</include>
            </includes>
            <excludes>
                <exclude>**/*.java</exclude>
            </excludes>
        </testResource>
    </testResources>
    <plugins>
        <plugin>
            <groupId>org.mortbay.jetty</groupId>
            <artifactId>maven-jetty-plugin</artifactId>
        </plugin>
    </plugins>
</build>

<properties>
    <wicket.version>1.3.2</wicket.version>
    <jetty.version>6.1.4</jetty.version>
</properties>

<dependency>
    <groupId>javax.transaction</groupId>
    <artifactId>jta</artifactId>
    <version>1.0.1B</version>
</dependency>

needs to be added, also make sure that jar is in your class path.

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM