2016-04-27 19 views
0

私はこの混乱する状況に陥っています。私のmaven java Webアプリケーションは、コンソールからmvn clean install org.apache.tomcat.maven:tomcat7-maven-plugin:2.2:run-warを実行すると起動します。私は日食にTomcatを設定し、サーバを起動したときに、私は次の例外を取得:日食でTomcatが起動しない

Caused by:javax.persistence.PersistenceException[PersistenceUnit: persistence-unit] class or package not found 
    ..... 
    Caused by: java.lang.ClassNotFoundException: com.my.package.MyClass 
    ...... 

私のpersistence.xml:

<?xml version="1.0" encoding="UTF-8"?> 
<persistence> 
    <persistence-unit name="persistence-unit"> 
     <class>com.my.package.MyClass</class> 
     <class>com.my.package.MyClassTwo</class> 
     <class>com.my.package.MyClassThree</class> 
     <properties> 
      <property name="hibernate.hbm2ddl.auto" value="update"/> 
     </properties> 
    </persistence-unit> 
</persistence>   

は今persistence.xmlで定義されたすべてのクラスが存在し、到達することができますctrl + persistence.xmlをクリックすると、パッケージとクラス名が100%正しいことがわかります。検索arround私は解決策を試した:https://stackoverflow.com/a/18073429。私はクラスタグをコメントアウトすると私はスタートアップの例外を取得していないが、私はアプリにアクセスしようとしているdifferrent例外を取得し、アプリケーションが本当に起動しない:

javax.servlet.ServletException: Expression Error: Named Object: entityConverter not found. 
javax.faces.webapp.FacesServlet.service(FacesServlet.java:659) 

これentityConverterがある、@FacesConverter(value = "entityConverter")と注釈されていますそのようなコンバータの適切な処理、私はここでも問題は表示されません。

今や主な混乱は、アプリケーションが起動して、正確に同じTomcatインスタンス(コピーされた風袋、コピーされた設定など)を持つ他のPCを使用してEclipse上で正常に動作し、何回か、例外を除いて、私はalt + f5プロジェクトのリフレッシュをeclipseでやり直しました。 2台のマシン(同じリポジトリ、同じリビジョンを使用してビルド)間で設定は変更されません。どんな洞察にも感謝します。

+0

永続プロバイダにJPAを使用していますか? –

+1

eclipseではなく、Eclipseのビルドパスの問題であるcmdのプロンプトで実行されている場合。 'mvn eclipse:eclipse'を実行し、Eclipseプロジェクトをリフレッシュしてから、試してください。 –

+1

新しいEclipseと新しいワークスペースで試してください。 (eclipseはインポートされたプロジェクトをMavenプロジェクトとして識別しますか?) – sura2k

答えて

0

これは何が原因かわかりませんが、sura2kのアドバイスを使用して修正されました。 Eclipse Marsに切り替え、新しいワークスペースを作成し、新しいサーバーを構成し、すべてが期待どおりに機能しています。

関連する問題