プロジェクトを Java 6 から Java 7 にアップグレードしていて、この問題に遭遇しました。このプロジェクトは、春と JPA 2.0 を使用しています。StaticMetaModel アノテーションを持つクラスがいくつかあります。Java 6 でコンパイルすると問題はありませんが、Java 7 でコンパイルすると次のエラーが表示されます。
...\trunk\target\generated-sources\annotations\..\[SOME_NAME]Entity_.java:[8,16] error: duplicate class: [SOME_NAME]Entity_
基本的に、Java 7 は、これらのクラスを generated-sources\annotations フォルダーにコピーするある種の注釈プロセッサを実行してから、このパスに対してコンパイルしようとしています。これらのクラスは別の場所に存在し、その別の場所からこの新しい場所にコピーされたため、これは機能しません。明らかにこれが「重複クラスエラー」が発生する理由ですが、これを修正する方法がわかりません。
Java 6 はこの問題を無視しているようです。
これは、pom ファイルの一部であり、これに関係があると思われます。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
以下はこのプラグインでコメントアウトされていましたが、追加しても認識できる効果はありませんでした。
<compilerArguments>
<processor>org.hibernate.jpamodelgen.JPAMetaModelEntityProcessor</processor>
</compilerArguments>