Ixazululiwe: i-javax.xml.bind ayikho

Ukuqala ngesingeniso, iphutha elithi โ€œjavax.xml.bind ayikhoโ€ ingenye yezinkinga ezivame kakhulu onjiniyela ababhekana nazo lapho besuka ezinguqulweni ezindala ze-Java baye kwezintsha, ikakhulukazi ukusuka ku-Java 8 ukuya ku-Java 9, noma ezintsha. Phakathi nalolu shintsho, ungase uhlangabezane nalo mlayezo obonisa ukuthi iphakheji ethile ayikho, ikakhulukazi ngenxa yokuthi i-javax.xml.bind iye yahoxiswa ku-Java 9, futhi yakhishwa ku-Java 11.

I-`javax.xml.bind` isetshenziselwa i-Java Architecture ye-XML Binding (JAXB). Isetshenziselwa ukuguqula izinto ze-Java zibe i-XML futhi ngokuphambene nalokho. Ukubaluleka kwe-JAXB angeke kugcizelelwe, njengoba inikeza izindlela zokunqanda, ukumasha nokuqinisekisa ukusebenza.

Izinkinga ze-JDK kanye nesixazululo

Isizathu esiyinhloko salo mlayezo wephutha ukuthi ngokukhishwa kwe-Java SE 9 kanye nesistimu yemojuli, amanye amaphakheji asusiwe endleleni yeklasi ezenzakalelayo, okuhlanganisa `javax.xml.bind`.

Ukulungisa okusheshayo nangesikhashana, ungasebenzisa `-add-modules` inketho yomugqa womyalo uma usebenzisa uhlelo lwakho emugqeni womyalo. Ku-Maven namanye amathuluzi okwakha afanayo, ungakwazi ukwengeza ukuncika okudingekayo ngokuqondile kufayela lakho le-pom.xml noma le-build.gradle.

<!-- This command tells Java to add the 'java.xml.bind' module to your classpath -->
java --add-modules java.xml.bind YourApp

Nokho, ukuze uthole isixazululo esihlala njalo, ikakhulukazi uma uhlela ukuthuthela amaphrojekthi akho ku-Java 11 nangaphezulu, kuzodingeka ukuthi ufake nelabhulali ye-JAXB (javax.xml.bind) mathupha endleleni yekilasi yephrojekthi yakho.

Ingeza Ukuncika kwe-JAXB, Isinyathelo Ngesinyathelo

Ukuze ufake i-JAXB kuphrojekthi yakho, udinga kuqala ukungeza ukuncika kokuthi `jaxb-api` ku-pom.xml yakho noma i-build.gradle. Ukusetshenziswa kwe-JAXB endaweni yokugcina kunikezwa yi-`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>

Ngemva kokufaka lezi zincika kuphrojekthi yakho, inkinga yakho nge-โ€œjavax.xml.bind ayikhoโ€ kufanele ixazululwe.

Ukuqonda Umthelela Wezinguquko ku-Java 9 nangaphezulu

I-Java 9 yethule uhlelo olusha lwamamojula olube nomthelela omkhulu endleleni onjiniyela abakha futhi baphathe ngayo izinhlelo zabo zokusebenza. Ngokwenza amaphakheji afana nokuthi `javax.xml.bind` angafinyeleleki ngokuzenzakalelayo, onjiniyela baphoqeleke ukuthi baqaphele kakhulu ukuncika kumaphrojekthi abo.

Lolu shintsho, nakuba lwalumangaza ekuqaleni, lwagcina lukhuthaza umkhuba omuhle ekulawuleni ukuncika, okwenza amaphrojekthi abe namandla futhi kube lula ukuwanakekela ngokuhamba kwesikhathi.

Sesikushilo lokho, lezi zinguquko zisho ukuthi abathuthukisi badinga ukuzijwayeza ngohlelo olusha lwamamojula kanye nendlela yokuphatha ukuncika ngokucace kakhudlwana. Kodwa ngokuzijwayeza okuthile, ukubhekana nezinkinga ezihlobene namamojula alahlekile ku-Java 9 nangaphezulu kuyalawuleka, ngisho nemvelo yesibili.

Lokhu kulungiswa kwesistimu yemojuli ye-Java kuwubufakazi bemvelo ethuthukayo yobuchwepheshe kanye nekhono lonjiniyela lokuzivumelanisa nezinguquko ngezinqubo ezintsha.

Okuthunyelwe okuhlobene:

Shiya amazwana