Ho questa classe per avviare il server di configurazione spring-cloud. È un'applicazione di avvio a molla.Sonar si lamenta della configurazione Spring Boot
@SpringBootApplication
@EnableConfigServer
@EnableDiscoveryClient
public class ConfigServerApplication {
public static void main(String[] args) {
SpringApplication.run(ConfigServerApplication.class, args);
}
}
L'applicazione funziona correttamente e tutti i miei test di unità vanno bene. Tuttavia, nella nostra pipeline di bambù, inizializzerà un processo sonar per analizzare il codice. Continuiamo a ottenere questi avvertimenti minori indicando il seguente:
Utility classes should not have a public constructor
So che questo è un problema minore, ma mi è stato affidato il compito di rimuovere questi dal nostro codice.
Idealmente, si dovrebbe contrassegnare la classe finale e fornire un costruttore privato, o così tutte le ricerche forniscono come soluzione. Tuttavia, una classe Spring Configuration non può essere resa definitiva e non può avere un costruttore privato.
Qualche idea su come risolvere questo problema?
Grazie a @spencergibb Questo è quello che stavo pensando anch'io. Tuttavia, penserei che il sonar vedrebbe che quella classe contiene un metodo principale statico pubblico e lo usa come eccezione a quella regola. – dmfrey
P.S. Piacere di conoscerti a SpringOne2gx. Ho apprezzato i tuoi discorsi. – dmfrey
Grazie! piacere anche a me. – spencergibb