编辑:我现在将项目拆分为其组成部分,结果发现QueryDSL和JaxWS都是无辜的。问题出现在项目的其他地方。来自QueryDSL的错误消息是一个美观问题,但不要破坏构建。
我的项目使用QueryDSL(JPA查询)和JaxWS(从WSDL生成Web服务客户端代码)生成代码。
运行Maven构建时,QueryDSL代码生成阶段会产生大量错误,因为它会尝试处理引用生成的Web服务客户端的服务类。例如:
[INFO] --- jaxws-maven-plugin:1.12:wsimport (default) @ Project---
[INFO]
[INFO] --- maven-apt-plugin:1.0:process (default) @ Project---
/home/adrian/test/Project/src/main/java/uk/co/humboldt/Project/Service/Inspect/Inspect.java:25: package org.supplier.webservice.contractservice does not exist
import org.supplier.webservice.contractservice.ArrayOfString;
我试图从QueryDSL处理中排除服务类:
<plugin>
<groupId>com.mysema.maven</groupId>
<artifactId>maven-apt-plugin</artifactId>
<version>1.0</version>
<executions>
<execution>
<goals>
<goal>process</goal>
</goals>
<configuration>
<outputDirectory>target/generated-sources/java</outputDirectory>
<processor>com.mysema.query.apt.jpa.JPAAnnotationProcessor</processor>
<options>
<querydsl.excludedPackages>uk.co.humboldt.Project.Service</querydsl.excludedPackages>
</options>
</configuration>
</execution>
</executions>
</plugin>
我的构建最终以
失败[INFO] --- maven-compiler-plugin:2.3.2:compile (default-compile) @ Project---
[INFO] Compiling 590 source files to /home/adrian/test/Project/target/classes
[INFO] -------------------------------------------------------------
[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] Failure executing javac, but could not parse the error:
55 errors
我尝试使用像this answer这样的build-helper
添加源文件,但它没有改变任何内容。有什么建议?我怀疑将我的域对象和查询类拆分为单独的JAR将解决问题,但我会更乐意在单个POM中修复它。