Kuidas kontrollida raamatukogude konflikte Mavenis
Avaldamise kuupäev:20. jaanuar 2021.
INFOMARTION > Kuidas kontrollida raamatukogude konflikte Mavenis
Ülevaade.
Kuidas kontrollida Mavenis raamatukogude konflikte. Maven lahendab jar-raamatukogu sõltuvused automaatselt, kuid vaikimisi konfiguratsioon ei teavita teid konfliktidest. Niimoodi saab sellistel juhtudel kontrollida Mavenis raamatukogude konflikte.
Sisukord
1. Kui Mavenis tekivad konfliktid raamatukogude vahel
Maven lahendab automaatselt Java raamatukogu sõltuvused. Automaatne sõltuvuste lahendamine tähendab, et kui teil on Jar-fail, mida te vajate, hangib see automaatselt selle Jar'i käivitamiseks vajaliku Jar'i. Lisateavet selle kohta, kuidas konkreetne raamatukogu sõltuvuse lahendamine toimib, leiate järgmisest artiklist.
Kuidas Maven lahendab automaatselt jar-raamatukogude sõltuvused.
Kui aga raamatukogu konfliktid tekivad, ei lahendata neid automaatselt. Veelgi enam, kui seaded ei ole paigas, ei saa te isegi konflikti tuvastada. Soovime kirjeldada, kuidas kontrollida raamatukogu konflikte.
2. Kuidas kontrollida
Raamatukogu konfliktide kontrollimiseks on kaks peamist viisi
- Pistikprogrammide tutvustamine
- Ehituseelne kinnitus käsu järgi.
'Install plug-ins' on meetod pom.xml-i seadete lisamiseks. 'Kontrollida käsuga enne ehitamist' tähendab sõna otseses mõttes käsitsi kontrollimist käsuga enne ehitamist. Tahaksin selgitada, kuidas seda konkreetselt teha.
2-1. Pistikprogrammide tutvustamine
Järgmised Maveni veebisaidid võivad olla abiks.
http://maven.apache.org/enforcer/enforcer-rules/dependencyConvergence.html
Lisage pom.xml-i järgmised sätted.
<project>
...
<build>
<plugins>
...
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<version>3.0.0-M3</version>
<executions>
<execution>
<id>enforce</id>
<configuration>
<rules>
<dependencyConvergence/>
</rules>
</configuration>
<goals>
<goal>enforce</goal>
</goals>
</execution>
</executions>
</plugin>
...
</plugins>
</build>
...
</project>
Kui ülaltoodud seaded on sisestatud, ilmneb järgmine viga ja ehitamine ebaõnnestub, kui ehitamise ajal esinevad konfliktid raamatukogude vahel.
[WARNING]
Dependency convergence error for org.apache.commons:commons-collections4:4.1 paths to dependency are:
+-com.example.todo:todo-web:1.0.0-SNAPSHOT
+-org.apache.poi:poi:3.17
+-org.apache.commons:commons-collections4:4.1
and
+-com.example.todo:todo-web:1.0.0-SNAPSHOT
+-org.apache.commons:commons-collections4:4.0
[WARNING] Rule 0: org.apache.maven.plugins.enforcer.DependencyConvergence failed with message:
Failed while enforcing releasability. See above detailed error message.
Kui ehitust rakendatakse ilma lisandmooduliteta, ei esine vigu ja ehitamine lõpeb normaalselt. Kui soovite konflikte tuvastada, seadistage see kindlasti.
2-2. Ehituseelne kinnitus käsu järgi.
Sõltuvusi kontrollitakse järgmiste käskudega
mvn dependency:tree -Dverbose
käsk ja konflikti esinemise korral kuvatakse 'jäetud konflikti puhul välja'. Samuti on võimalik kitsendada väljundit ainult nendele aladele, kus esineb konflikte, nagu järgmises käsus. ※'find' on Windowsi käsk. Linuxi puhul on see 'grep'.
mvn dependency:tree -Dverbose | find "omitted for conflict"
Raamatukogu konflikte saab kontrollida, vaadates ülaltoodud käskude tulemusi.
3. kokkuvõte
Kui soovite usaldusväärselt tuvastada raamatukogude konflikte, soovitame kasutada valikut 'Install plug-ins'. Pistikprogrammide kasutuselevõtt tagab, et kõiki konflikte märgatakse, kuna ehitamine ebaõnnestub.
Aitäh, et vaatasite kuni lõpuni.
■INFORMATION
Palun klõpsake siin, et minna INFORMATSIOONI pealehele.
■PROFILE
Palun klõpsake siin profiili jaoks.
■Kontaktandmed.
Artikliga seotud päringute korral võtke meiega ühendust siin.