Find ubrugte Maven-afhængigheder
1. Oversigt
Når vi bruger Maven til at styre vores projektafhængigheder, kan vi miste styr på, hvilke afhængigheder der bruges i vores applikation.
I denne korte vejledning dækker vi, hvordan du bruger Maven-afhængighedsplugin, et plugin, der hjælper os med at finde ubrugte afhængigheder i vores projekt.
2. Opsætning af projekt
Lad os begynde med at tilføje et par afhængigheder, slf4j-api (den vi vil bruge) og fælles-samlinger (den vi ikke bruger):
commons-samlinger commons-samlinger 3.2.2 org.slf4j slf4j-api 1.7.25
Vi kan få adgang til Maven-afhængigheds plugin uden at specificere det i vores pom. Under alle omstændigheder kan vi bruge pom.xml definition for at specificere versionen og også nogle egenskaber, hvis det er nødvendigt:
maven-afhængigheds-plugin 3.1.2
3. Kodeeksempel
Nu hvor vores projekt er oprettet, lad os skrive en linje med kode, hvor vi bruger en af de afhængigheder, vi definerede før:
public Logger getLogger () {return LoggerFactory.getLogger (UnusedDependenciesExample.class); }
Det LoggerFabrik fra biblioteket Slf4J returneres i en metode, men der er ingen brug af biblioteket med fælles samlinger, hvilket gør det til en kandidat til fjernelse.
4. Find ubrugte afhængigheder
Ved hjælp af Maven afhængigheds plugin kan vi finde de afhængigheder, der ikke er i brug i vores projekt. Til det påkalder vi pluginets analysemål:
$ mvn afhængighed: analyser [INFO] --- maven-afhængigheds-plugin: 3.1.1: analyser (standard-cli) @ maven-ubrugt-afhængighed --- [ADVARSEL] Ubrugte erklærede afhængigheder fundet: [ADVARSEL] commons-samlinger : commons-samlinger: jar: 3.2.2: kompilere [INFO] ----------------------------------- ------------------------------------ [INFO] BYG SUCCES [INFO] ----- -------------------------------------------------- ----------------- [INFO] Samlet tid: 1.225 s [INFO] Færdig ved: 2020-04-01T16: 10: 25-04: 00 [INFO] --- -------------------------------------------------- -------------------
For enhver afhængighed, der ikke er i brug i vores projekt, udsender Maven en advarsel i analyserapporten.
5. Angiv afhængigheder som brugt
Afhængigt af projektets art er vi nogle gange nødt til at indlæse klasser ved kørsel, som for eksempel i et plugin-orienteret projekt.
Da afhængighederne ikke bruges på kompileringstidspunktet, er maven-afhængigheds-plugin vil udsende en advarsel om, at en afhængighed ikke bruges, når den faktisk er. Til det kan vi håndhæve og instruere pluginet om, at et bibliotek bruges.
Vi gør dette ved at angive afhængigheder inde i brugtafhængighed ejendom:
org.apache.maven.plugins maven-afhængighed-plugin commons-samlinger: commons-samlinger
Kører analysere mål igen, ser vi, at den ubrugte afhængighed ikke længere overvejes i rapporten.
6. Konklusion
I denne korte vejledning lærte vi, hvordan man finder ubrugte maven-afhængigheder. Det er en god praksis at kontrollere ubrugte afhængigheder regelmæssigt, da det forbedrer vedligeholdelsesevnen og reducerer biblioteksstørrelsen på vores projekt.
Som altid er den fulde kildekode med alle eksempler tilgængelig på GitHub.