私は単体テストを動作させることができません。テストを実行しているときに、ClassFormatException
:クラスファイルにネイティブでないメソッドのコード属性がありません。javax/ejb/EJBAccessException
これは私が書いたpom.xml
:Java EEの実装がありません
<dependency>
<groupId>org.glassfish</groupId>
<artifactId>javaee</artifactId>
<version>6.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-api</artifactId>
<version>6.0</version>
<scope>provided</scope>
</dependency>
しかし、それは動作しません。ファイルrepo/org/glassfish/javaee/6.0/javaee-6.0.jar
をテキストエディタで開くと、HTMLテキストのみが含まれています。あなたは何が間違っているか考えてみませんか?どこで適切なjavaee-6.0.jar
を見つけることができますか?私がglassfish3/glassfish/lib
の1つを開いた場合、それは何かpom.xml
、それ以上何も含まれていません。
私は、セッションBeanを介してアクセスされるエンティティで構成されるデータレイヤーを持っています。このレイヤーはJARとしてパッケージ化され、デプロイされます。エラーはプレゼンテーションレイヤの問題です。 EJBはありません。しかし、私はSpring MVCを使用しています。コントローラは最初にロードされます。また、いくつかのコントローラはEJBクライアントです。それは問題ではありませんが、そのうちの1つに行番号import javax.ejb.EJBAccessException
が含まれています。 Springローダーがこのクラスを読み込んでいるとき、上記の例外を除いて読み込みプロセスは失敗します。したがって、テストを進めるにはJava EEの実装が必要です。
しかし、この質問は実際にはより一般的です。これは初めてではなく、私はこのエラーが発生しました:依存関係JARは有効ではなく、内部を見ているときに、通常のHTMLコードが見えました。
Btw:インターネット全体のこの基本的な質問に対する適切な答えがまだ見つかっていないことに私は驚きました。
詳細をお知らせください。ユニットテストは何ですか? EJB?あなたは何を使っていますか? JUnit、Arquillian? –