1

静的インポートを使用する単体テストでは、APT で生成されたクラスを使用できないようです。(Maven サンプル プロジェクトは、ここからダウンロードできます)

次のサンプルクラスの場合

import com.mysema.query.jpa.impl.JPAQuery;

public class UserStore {

    public void something() {
        new JPAQuery(null).from(QUser.user).list(QUser.user.login);
    }

}

に変更されます

import static something.QUser.user;
import com.mysema.query.jpa.impl.JPAQuery;

public class UserStore {

    public void something() {
        new JPAQuery(null).from(user).list(user.login);
    }

}

ビルド プロセス (mvn クリーン インストール) は失敗します。

[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 3.466s
[INFO] Finished at: Wed May 30 16:05:40 CEST 2012
[INFO] Final Memory: 18M/150M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile (default-compile) on project apt-bug: Compilation failure: Compilation failure:
...

(完全なエラー メッセージ)

これは、これらの生成されたクラスを単体テストで静的インポートで使用できないということですか、それとも pom.xml ファイルに問題があるのでしょうか?

編集:

POM ファイル: http://pastebin.com/gvycZmXD

4

2 に答える 2

3

これは関連している可能性があります https://github.com/mysema/querydsl/issues/158

私はまだこれを調査する時間がありませんでした。

編集

これは Java 7 で修正されたようです。

于 2012-05-31T06:29:54.143 に答える