Ich habe diese Klasse, um den Spring-Cloud-Konfigurationsserver zu starten. Es ist eine Spring-Boot-Anwendung.Sonar beschwert sich über Spring Boot-Konfiguration
@SpringBootApplication
@EnableConfigServer
@EnableDiscoveryClient
public class ConfigServerApplication {
public static void main(String[] args) {
SpringApplication.run(ConfigServerApplication.class, args);
}
}
Die Anwendung läuft gut und alle meine Unit Tests sind in Ordnung. In unserer Bambus-Pipeline wird es jedoch einen Sonar-Prozess initiieren, um den Code zu analysieren. Wir halten immer diese kleinen Warnungen anzeigt, wie folgt zusammen:
Utility classes should not have a public constructor
Ich weiß, dass dies ein kleineres Problem ist, aber ich habe mit dem Entfernen von unserem Code beauftragt worden.
Idealerweise würden Sie die Klasse final markieren und einen privaten Konstruktor bereitstellen, so dass alle Suchen als Lösung dienen. Eine Spring Configuration-Klasse kann jedoch nicht endgültig festgelegt werden und kann keinen privaten Konstruktor haben.
Irgendwelche Ideen, wie man das löst?
Dank @spencergibb Das ist, was ich auch dachte. Ich würde jedoch denken, Sonar würde sehen, dass diese Klasse eine öffentliche statische Hauptmethode enthält und diese als Ausnahme für diese Regel verwendet. – dmfrey
P.S. Schön dich bei SpringOne2gx zu treffen. Genossen deine Gespräche. – dmfrey
Danke! Schön, dich auch zu kennen. – spencergibb