Java 马文冬眠

Java 马文冬眠,java,hibernate,maven,Java,Hibernate,Maven,您好,我正在学习本教程: 我已经完成了所有代码,因此我添加了以下运行配置: package-e-DgroupId=it.michelepierri-DartifactId=FirstExampleHibernate 这是我的pom.xml: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="h

您好,我正在学习本教程:

我已经完成了所有代码,因此我添加了以下运行配置: package-e-DgroupId=it.michelepierri-DartifactId=FirstExampleHibernate

这是我的pom.xml:

<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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>it.michele</groupId>
<artifactId>FirstExampleHibernate</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>FirstExampleHibernate</name>
<description>Primo esempio di utilizzo Hibernate</description>

<dependencies>
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-core<!--or hibernate-core--></artifactId>
        <version>3.3.2.GA</version>
        <type>pom</type>
        <!--hibernate-dependencies is a pom, not needed for hibernate-core -->
    </dependency>
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-annotations</artifactId>
        <version>3.4.0.GA</version>
    </dependency>
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-validator</artifactId>
        <version>3.1.0.GA</version>
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>1.5.8</version>
    </dependency>
    <dependency>
        <groupId>antlr</groupId>
        <artifactId>antlr</artifactId>
        <version>2.7.6</version>
    </dependency>
    <dependency>
        <groupId>commons-collections</groupId>
        <artifactId>commons-collections</artifactId>
        <version>3.1</version>
    </dependency>
    <dependency>
        <groupId>dom4j</groupId>
        <artifactId>dom4j</artifactId>
        <version>1.6.1</version>
    </dependency>
    <dependency>
        <groupId>javassist</groupId>
        <artifactId>javassist</artifactId>
        <version>3.4.GA</version>
    </dependency>
    <dependency>
        <groupId>javax.transaction</groupId>
        <artifactId>jta</artifactId>
        <version>1.1</version>
    </dependency>
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>5.1.18</version>
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-jdk14</artifactId>
        <version>1.6.4</version>
    </dependency>
</dependencies>

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
            <configuration>
                <archive>
                    <manifest>
                        <mainClass>it.michele.TestPerson</mainClass>
                        <packageName>it.michele</packageName>
                    </manifest>
                </archive>
            </configuration>
        </plugin>
    </plugins>
</build>
当我尝试启动jar时,我返回:

C:\Users\Michele\workspace\FirstExampleHibernate\target>java -jar 

FirstExampleHibernate-0.0.1-SNAPSH
OT.jar
Exception in thread "main" java.lang.NoClassDefFoundError: org/hibernate/Session
Caused by: java.lang.ClassNotFoundException: org.hibernate.Session
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
Could not find the main class: it.michelepierri.TestPerson. Program will exit.
我做错了什么?????? 在TestPerson.java类中有一个公共静态void main(String[]args)方法


谢谢。

您遇到了这个问题,因为类路径中没有指定所有支持JAR(hibernate等)

试一试

这是一个maven命令,它将在内部调用java,并将所有依赖JAR添加到类路径中

你也可以试试

mvn assembly:single

它将把所有jar组合成一个jar,然后您可以按现在的方式运行它。

您需要使用包含依赖项的类路径来运行jar。这与您的问题无关,但是:您可能希望使用当前版本的hibernate(hibernate 3.3于2008年发布)。第一个命令返回我:[错误]无法在project FirstExampleHibernate上执行goal org.codehaus.mojo:exec maven插件:1.2.1:java(默认cli):goal org.codehaus.mojo:exec maven插件的参数“mainClass”丢失或无效->帮助1]它是
mvn exec:java-Dexec.mainClass=It.michelepierri.TestPerson
mvn exec:java -Dexec.mainClass=it.michelepierri.TestPerson
mvn assembly:single