Sonar抱怨Spring Boot配置

时间:2015-09-24 19:52:32

标签: spring spring-boot sonarqube spring-cloud spring-java-config

我有这个类来启动spring-cloud配置服务器。这是一个弹簧启动应用程序。

@SpringBootApplication
@EnableConfigServer
@EnableDiscoveryClient
public class ConfigServerApplication {

    public static void main( String[] args ) {

        SpringApplication.run( ConfigServerApplication.class, args );

    }

}

应用程序运行良好,我所有的单元测试都没问题。但是,在我们的竹子管道中,它将初始化一个声纳过程来分析代码。我们不断收到这些小警告,表明以下内容:

Utility classes should not have a public constructor

我知道这是一个小问题,但我的任务是从代码中删除它们。

理想情况下,您可以将类标记为final并提供私有构造函数,或者所有搜索都提供解决方案。但是,Spring Configuration类不能成为final,也不能有私有构造函数。

有任何想法如何解决这个问题?

3 个答案:

答案 0 :(得分:5)

我担心这不是spring-boot或spring-cloud可以解决的问题。您需要为声纳配置添加例外。

答案 1 :(得分:0)

调整声纳设置当然是一种更好的方法,但是如果你想要please the machine spirits,你可以简单地为你的类添加一个非静态虚拟函数,使它在眼睛中“非实用”声纳检查员。

答案 2 :(得分:0)

很容易测试:

@RunWith(SpringRunner.class)
@SpringBootTest
public class YourApplicationTest {

    @Test
    public void shouldLoadApplicationContext() {
    }

    @Test
    public void applicationTest() {
        YourApplication.main(new String[] {});
    }

}
现在声纳说,这是经过测试的!
(Kudos出去:Robert @ https://stackoverflow.com/a/41775613/863403