jqassistant - java规则检查的简单工作示例
问题描述
我找不到如何设置 jqassistant-maven-plugin 来验证多模块 maven 项目的 java 插件中的规则。
jqassistant 文档中没有太多关于如何配置插件的内容。我也看不到我必须运行什么目标才能看到一些带有 java 规则分析结果的报告。
我将此添加到我的根 pom.xml
<plugin>
<groupId>com.buschmais.jqassistant</groupId>
<artifactId>jqassistant-maven-plugin</artifactId>
<version>1.9.0</version>
<configuration>
<useExecutionRootAsProjectRoot>true</useExecutionRootAsProjectRoot>
</configuration>
<dependencies>
<dependency>
<groupId>com.buschmais.jqassistant.plugin</groupId>
<artifactId>java</artifactId>
<version>1.9.0</version>
</dependency>
</dependencies>
</plugin>
当我执行
- mvn 干净安装
- mvn jqassistant:scan
- mvn jqassistant:analyze
我从来没有看到任何看起来像 jqassistant 输出的东西,除了一个不包含任何有用内容的 xml 文件:
<?xml version="1.0" encoding="UTF-8"?>
<jqassistant-report xmlns="http://schema.jqassistant.org/report/v1.8"></jqassistant-report>
当我运行 mvn jqassistant:effective-rules 时,它总是给出以下结果:
[INFO] Groups [0]
[INFO] Constraints [0]
[INFO] Concepts [0]
谁有一个工作的例子?
解决方案
jQAssistant 带有一组非常有限的规则,可以开箱即用地应用来验证常见错误(即约束)。至此,Java 插件主要提供了创建自己的约束时可以使用的概念。
有一个例外,那就是 Spring 插件。如果使用 Spring 框架,它带有一组约束来强制执行最佳实践。尽管如此,需要激活约束,最好的方法是激活其中一个组spring-boot:Default
或spring-boot:Strict
:
<plugin>
<groupId>com.buschmais.jqassistant</groupId>
<artifactId>jqassistant-maven-plugin</artifactId>
<version>1.9.0</version>
<executions>
<execution>
<id>default-cli</id>
<goals>
<goal>scan</goal>
<goal>analyze</goal>
</goals>
<configuration>
<groups>
<group>spring-boot:Strict</group>
<!--
<group>spring-boot:Default</group>
-->
<group>Default</group>
</groups>
</configuration>
</execution>
</executions>
</plugin>
(见https://101.jqassistant.org/getting-started-spring-boot-maven/)
推荐阅读
- caching - rust-diesel 上没有缓存
- azure - 将 localhost 添加到 Azure AD/应用注册重定向 URL 是否存在安全风险?
- angular - 在github页面上部署我的角度网站没有错误但无法正常工作
- sql - SQL 查询。获取按 desc 排序的相似行
- excel - 多个空 Excel VBA 项目
- r - 检查观察是否落在 R 中的多个区间中
- node.js - 如何在 node.js 中存储会话值?
- python - 打印语句后出现缩进错误
- javascript - 如何在没有任何库的情况下从 JavaScript 使用 SVG 动画线
- pandas - 用数字和字符串重新采样时间序列的集合