1

Arquillian を使用して JPA リポジトリ クラスをテストしようとしています。ただし、persistence.xmlが見つからないというnullpointer例外のみが発生します。標準の Maven プロジェクトでどのように構成しますか?

4

3 に答える 3

0

ShrinkWrap デプロイメントの正しいパスに persistence.xml が含まれていないようです。persistence.xml ファイルは、JAR の META-INF ディレクトリ、または WAR の WEB-INF/META-INF ディレクトリに配置する必要があります。これは、次の 2 つの方法で確認できます。

  1. メソッドの詳細フラグを介してArchive.toString(...):

    あなたの方法では、次のような方法@Deploymentを使用して、アーカイブの内容を印刷できますtoString

    @Deployment
    public static Archive<?> createDeployment() {
           WebArchive war = ShrinkWrap.create(WebArchive.class).addClasses(Foo.class);
           System.out.println(war.toString(true));
           return war;
    }
    
  2. 生成されたデプロイメントをディスクに書き込むように Arquillian を構成します。

    次のように、プロパティengineを使用して arquillian.xml に構成要素を追加できます。deploymentdeploymentExportPath

    <engine>
        <property name="deploymentExportPath">target/deployment</property>
    </engine>
    

    これにより、Arquillian は生成したデプロイメントを Maven によって生成されたターゲット ディレクトリの下のサブディレクトリに書き込むように指示されます。

于 2012-10-21T05:16:04.980 に答える
0

Have you looked @ the official documentation here. The project structure suggests that its built using Maven.

If you still run into issues do post the exception messages.

Good luck!

于 2012-10-20T22:41:55.367 に答える
0

github のショーケース プロジェクトには、JPA テスト (Arquillian Persistence Extension も使用) を含む多くの例もあります。

うまくいけば、これはあなたを正しい道に導きます:)

于 2012-10-22T10:00:17.967 に答える