編集:プロジェクトをそのコンポーネント部分に分割しましたが、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
この回答build-helperのようにソースファイルを追加しようとしましたが、何も変更されていません。助言がありますか?ドメインオブジェクトとQueryクラスを別のJARに分割することで問題が解決するのではないかと思いますが、単一のPOMで修正したほうがよいでしょう。