2012-03-11 13 views
1

こんにちは、私はこのチュートリアルを次のです: パッケージ-e -DgroupId = it.michelepierri -DartifactId = FirstExampleHibernateMavenのHibernateは

これは、次のとおりです。http://www.mastertheboss.com/hibernate/182-hibernate-tutorial.html

私はこの実行構成を追加するので、すべてのコードを行っています私の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> 

だから私はそれを実行すると、コンソールが私を言う:

------------------------------------------------------- 
T E S T S 
------------------------------------------------------- 
There are no tests to run. 

Results : 

Tests run: 0, Failures: 0, Errors: 0, Skipped: 0 

[INFO] 
[INFO] --- maven-jar-plugin:2.3.1:jar (default-jar) @ FirstExampleHibernate --- 
[INFO] Building jar: C:\Users\Michele\workspace\FirstExampleHibernate\target\FirstExampleHibernate-0.0.1-SNAPSHOT.jar 
[INFO] ------------------------------------------------------------------------ 
[INFO] BUILD SUCCESS 
[INFO] ------------------------------------------------------------------------ 
[INFO] Total time: 1.707s 
[INFO] Finished at: Sun Mar 11 14:59:50 CET 2012 
[INFO] Final Memory: 5M/77M 
[INFO] ------------------------------------------------------------------------ 

私は、私が戻ってきた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クラスには、public static void main(String [] args)メソッドがあります。

ありがとうございました。

+1

依存関係を含むクラスパスを使用してjarを実行する必要があります。 –

+0

あなたの問題とは無関係ですが、現在のリリースのHibernate(2008年にHibernate 3.3がリリースされました)を使用したいかもしれません。 – meriton

答えて

2

すべてのサポートjar(hibernateなど)がクラスパスに指定されていないため、問題が発生しています。

これは内部クラスパスに追加されたすべての依存するjarを使用してJavaを呼び出しますMavenのコマンドです

mvn exec:java -Dexec.mainClass=it.michelepierri.TestPerson 

を試してみてください。

また、あなたはそれにあなたが今やっている方法を実行を使用するものにすべてのjarファイルを結合します

mvn assembly:single 

を試すことができます。

+0

最初のコマンドは私を返します:[ERROR]目標org.codehaus.mojoを実行できませんでした:exec-maven-plugin:1.2.1:プロジェクトのjava(default-cli)FirstExampleHibernate:目標org.codehausのパラメータ 'mainClass' .mojo:exec-maven-plugin:1.2.1:javaが見つからないか無効です - > [Help 1] – michele

+0

これは 'mvn exec:java -Dexec.mainClass = it.michelepierri.TestPerson'です。 –

関連する問題