编写sonar 插件:No SqaleSubCharacteristic annotation was found on class xxx

博客记录了添加 @SqaleSubCharacteristic(\ARCHITECTURE_CHANGEABILITY\) 规则注解后报错的情况,作者发现问题解决办法是在 @Rule 中添加字段 'description'。

报错信息:

org.jruby.rack.RackInitializationException: java.lang.IllegalArgumentException:
 No SqaleSubCharacteristic annotation was found on class 
com.lingtian.sonar.check.rulechecks.ConfigFileUserCheck
    at org.jruby.rack.RackInitializationException.wrap
(RackInitializationException.java:31)
    at org.jruby.rack.RackApplicationFactoryDecorator.init
(RackApplicationFactoryDecorator.java:98)
    at org.jruby.rack.RackServletContextListener.contextInitialized
(RackServletContextListener.java:50)
    at org.sonar.server.platform.web.RubyRailsContextListener.contextInitialized
(RubyRailsContextListener.java:38)
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4812)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5255)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1408)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1398)
    at java.util.concurrent.FutureTask.run(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)

在规则上面添加 @SqaleSubCharacteristic("ARCHITECTURE_CHANGEABILITY")

添加之后报错:

2019.05.03 11:25:23 ERROR web[][o.a.c.c.C.[.[.[/]] Exception sending context initialized event to listener instance of class org.sonar.server.platform.web.PlatformServletContextListener
java.lang.IllegalStateException: One of HTML description or 
Markdown description must be defined for rule [repository=configFiles, key=ConfigFiles-User-Check]
    at org.sonar.api.server.rule.RulesDefinition$NewRule.validate
(RulesDefinition.java:903)
    at org.sonar.api.server.rule.RulesDefinition$NewRule.access$800
(RulesDefinition.java:661)
    at org.sonar.api.server.rule.RulesDefinition$RepositoryImpl.<init>(RulesDefinition.java:568)
    at org.sonar.api.server.rule.RulesDefinition$RepositoryImpl.<init>(RulesDefinition.java:542)
    at org.sonar.api.server.rule.RulesDefinition$Context.registerRepository
(RulesDefinition.java:438)
    at org.sonar.api.server.rule.RulesDefinition$Context.access$500(
RulesDefinition.java:382)
    at org.sonar.api.server.rule.RulesDefinition$NewRepositoryImpl.done
(RulesDefinition.java:514)
    at com.lingtian.sonar.rules.ConfigFileScanRulesDefinition.define
(ConfigFileScanRulesDefinition.java:20)
    at org.sonar.server.rule.RuleDefinitionsLoader.load
(RuleDefinitionsLoader.java:52)
    at org.sonar.server.rule.RegisterRules.start(RegisterRules.java:99)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)

我发现了我的问题,需要在@Rule中添加字段'description'  例如 :

@Rule(
  key = "Rule1",
  name = "RuleExampleCheck",
  description = "This rule do nothing",
  priority = Priority.INFO,
  tags = {"try"}
  )

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值