タイガー!タイガー!じれったいぞー!(SE編)

AS400, Java, JavaEE, JSF等の開発、習慣など。日々の気づきをまとめたブログ(備忘録)

【NetBeans, Maven】Querydsl追加後、CheckStyleで大量の警告が発生

Querydslの存在を今頃知り、これは便利! 素晴らしい!とテンションが上がってしまいました。

pom.xml

<dependency>
     <groupId>com.querydsl</groupId>
     <artifactId>querydsl-core</artifactId>
     <version>4.2.1</version>
</dependency>
        
<dependency>
     <groupId>com.querydsl</groupId>
     <artifactId>querydsl-jpa</artifactId>
     <version>4.2.1</version>
</dependency>
        
<dependency>
     <groupId>com.querydsl</groupId>
     <artifactId>querydsl-sql</artifactId>
     <version>4.2.1</version>
</dependency>

<!-- maven-apt-pluginの定義 -->
<plugin>
    <groupId>com.mysema.maven</groupId>
    <artifactId>apt-maven-plugin</artifactId>
    <version>1.1.3</version>
    <executions>
        <execution>
            <goals>
                <goal>process</goal>
            </goals>
            <configuration>
                <outputDirectory>target/generated-sources/java</outputDirectory>
                <processor>com.querydsl.apt.jpa.JPAAnnotationProcessor</processor>
            </configuration>
        </execution>
    </executions>
    <dependencies>
        <dependency>
            <groupId>com.querydsl</groupId>
            <artifactId>querydsl-apt</artifactId>
            <version>4.2.1</version>
        </dependency>
    </dependencies>
</plugin> 

しかしながら、普段使っているIDEの Net Beans8.2 と Maven3で使っている「CheckStyle」で、大量の警告が発生!!

f:id:no14141:20180926173230j:plain

その原因を調べると、Querydslが自動設定しているソースが原因でありました。
それらソースは、上記定義により「プロジェクトフォルダ\target\generated-sources」内に作られ、エンティティ系のソースの先頭に「Q」が付いた形で作られていました。
(ex: EstimatePersister.javaというエンティティ・モデルがあれば、QEstimatePersister.java が自動生成)

何とか解決できたので、記録しておきたいと思います。

Net Beans設定

  • ツール>オプション>その他より、Checkstyleタブの「Ignored Paths Pattern」欄に正規表現で下記を記述しました。

(^.generated-sources.$)|(^.test[\/]java.$)

f:id:no14141:20180926175855j:plain

これにより、IDE上での警告は回避できました。

Maven設定

  • pom.xmlの定義で、チェックしたいソースの場所(sourceDirectoryタグ)を指定することで、こちらも回避できました。
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-checkstyle-plugin</artifactId>
    <version>2.17</version>
    <dependencies>
         <dependency>
             <groupId>com.puppycrawl.tools</groupId>
             <artifactId>checkstyle</artifactId>
             <version>7.8.2</version>
         </dependency>
    </dependencies>  
    <configuration>
        <configLocation>src/main/resources/myCheckStyle.xml</configLocation>
        <sourceDirectory>${project.build.sourceDirectory}</sourceDirectory>
    </configuration>                            
  </plugin>

ようやく準備が整ったので、これから Querydslをどんどん試していこうと思っています!