【发布时间】:2012-05-30 14:15:14
【问题描述】:
显然我不能在使用静态导入的单元测试中使用由 APT 生成的类。 (Maven示例工程可以下载here)
如果下面的示例类
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 clean install)将失败:
[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
【问题讨论】:
-
你能链接实际的错误信息吗?你在它说出失败的原因之前就把它切断了......
-
添加了完整的错误信息
-
我相信这是 pom 的问题,特别是依赖项。但是,如果没有看到 pom 本身就很难说。您能否发布 pom(甚至只是依赖项部分)? (当然你的类名被混淆了)
-
pom 文件包含在 Maven 示例项目的 tar 文件中。