Ukuqala ngentshayelelo, impazamo ethi "javax.xml.bind ayikho" yenye yeengxaki eziqhelekileyo abajongene nazo abaphuhlisi xa besuka kwiinguqulelo ezindala zeJava ukuya kwezintsha, ngakumbi ukusuka kwiJava 8 ukuya kwiJava 9, okanye entsha. Ngelixa lolu tshintsho, ungadibana nalo myalezo ubonisa ukuba umqulu othile awukho, ngenxa yokuba i-javax.xml.bind ibiyekisiwe kwiJava 9, yaza yasuswa kwiJava 11.
`javax.xml.bind` isetyenziselwa iJava Architecture ye-XML Binding (JAXB). Iqeshelwe ukuguqula izinto zeJava zibe yiXML kunye nokunye. Ukubaluleka kwe-JAXB akunakugqithiswa, njengoko ibonelela ngeendlela zokungazinzi, i-marshal kunye nokuqinisekisa ukusebenza.
Imiba ye-JDK kunye nesisombululo
Esona sizathu siphambili salo myalezo wemposiso kukuba ngokhupho lwe Java SE 9 kunye nenkqubo yemodyuli, ezinye iipakethe zaye zasuswa kwindlela yokufundela engagqibekanga, equka `javax.xml.bind`.
Ukulungisa okukhawulezayo nokwexeshana, ungasebenzisa `-yongeza-iimodyuli' ukhetho lomyalelo welayini ukuba usebenzisa inkqubo yakho kumgca womyalelo. KwiMaven kunye nezinye izixhobo zokwakha ezifanayo, unokongeza ukuxhomekeka okuyimfuneko ngqo kwifayile yakho ye-pom.xml okanye i-build.gradle.
<!-- This command tells Java to add the 'java.xml.bind' module to your classpath --> java --add-modules java.xml.bind YourApp
Nangona kunjalo, kwisisombululo esisisigxina ngakumbi, ngakumbi ukuba uceba ukufudusela iiprojekthi zakho kwiJava 11 nangaphaya, kuya kufuneka uquke ilayibrari yeJAXB (javax.xml.bind) ngesandla kwindlela yokufundela yeprojekthi yakho.
Ukongeza ukuxhomekeka kweJAXB, Inyathelo ngeNyathelo
Ukubandakanya i-JAXB kwiprojekthi yakho, kufuneka kuqala udibanise `ukuxhomekeka kwe-jaxb-api` kwi-pom.xml yakho okanye i-build.gradle. Ukuphunyezwa kwe-JAXB kwindawo yokugcina ibonelelwa ngu `com.sun.xml.bind`.
<!-- In pom.xml, add the following dependencies --> <dependencies> <dependency> <groupId>javax.xml.bind</groupId> <artifactId>jaxb-api</artifactId> <version>2.3.1</version> </dependency> <dependency> <groupId>com.sun.xml.bind</groupId> <artifactId>jaxb-impl</artifactId> <version>2.3.1</version> </dependency> <dependency> <groupId>com.sun.xml.bind</groupId> <artifactId>jaxb-core</artifactId> <version>2.3.0.1</version> </dependency> </dependencies>
Emva kokubandakanya ezi zixhomekeke kwiprojekthi yakho, umba wakho nge "javax.xml.bind ayikho" kufuneka usonjululwe.
Ukuqonda iMpembelelo yoTshintsho kwiJava 9 naNgaphandle
IJava 9 yazisa inkqubo yemodyuli entsha echaphazele kakhulu indlela abaphuhlisi abakha ngayo kwaye balawule usetyenziso lwabo. Ngokwenza iipakethe ezifana `javax.xml.bind` ezingafikelelekiyo ngokungagqibekanga, abaphuhlisi baye banyanzeleka ukuba baqaphele ngakumbi ngokuxhomekeka kwiiprojekthi zabo.
Olu tshintsho, nangona lwalumangalisa ekuqaleni, lwaphela lukhuthaza ukuziphatha kakuhle kulawulo lokuxhomekeka, ukwenza iiprojekthi zibe namandla ngakumbi kwaye kulula ukuzigcina ekuhambeni kwexesha.
Oko kuthethiweyo, olu tshintsho luthetha ukuba abaphuhlisi kufuneka baziqhelanise nenkqubo yemodyuli entsha kunye nendlela yokulawula ukuxhomekeka ngokucacileyo ngakumbi. Kodwa ngoqheliselo oluthile, ukujongana nemiba enxulumene neemodyuli ezingekhoyo kwiJava 9 nangaphaya kuyalawuleka, kwaye nakwimeko yesibini.
Olu hlengahlengiso kwinkqubo yemodyuli yeJava bubungqina bokuvela kobuchwephesha kunye nokukwazi kwabaphuhlisi ukuziqhelanisa notshintsho ngeendlela ezintsha.