私はこの混乱する状況に陥っています。私の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台のマシン(同じリポジトリ、同じリビジョンを使用してビルド)間で設定は変更されません。どんな洞察にも感謝します。
永続プロバイダにJPAを使用していますか? –
eclipseではなく、Eclipseのビルドパスの問題であるcmdのプロンプトで実行されている場合。 'mvn eclipse:eclipse'を実行し、Eclipseプロジェクトをリフレッシュしてから、試してください。 –
新しいEclipseと新しいワークスペースで試してください。 (eclipseはインポートされたプロジェクトをMavenプロジェクトとして識別しますか?) – sura2k