Java®-i arendustarkvara, tuntud ka kui Java®-raamistikud, on programmid, mis on loodud Java®-i kodeerimiskogemuse lihtsustamiseks ja täiendamiseks. Täiendavate funktsioonidega pistikprogrammide kasutamine teeb seda, nagu ka kodeerimiskomplektid, mis genereerivad automaatselt koodi vastavalt programmeerija vajadustele. Iga Java®-i arendustarkvara tüüp on erinev ja parim selgub mõne teguri põhjal. Enne ühte tüüpi tarkvaraga leppimist tuleb kontrollida tarkvara sobivust teatud tööstusharudele, arhitektuuri laiendamist, veebikommuuni ja dokumentatsiooni olemasolu ning funktsioonide laiaulatuslikkust.
Igal Java®-i arendustarkvara tüübil on “kalduvus”, mis tähendab, et selle funktsioonid muudavad selle ühe valdkonna jaoks paremaks. Java®-i kasutatakse üldiste rakenduste, veebipõhiste rakenduste, äriteabe rakenduste ja nii edasi tegemiseks. Igal programmeerijal on tarkvara järele erinev vajadus, seega on sellel tavaliselt funktsioone, mis nõuavad rohkem kui teistel. Programmeerija valdkonnaga sobiva tarkvara valimine osutub paremaks kui tarkvara, mis toetub mõnele teisele.
Arhitektuur viitab standarditele ja kodeerimisprogrammidele, mida Java® arendus kasutab, lisaks Java® enda kasutamisele. Mõned arendustarkvarad sisaldavad ainult tööstusharus aktsepteeritud kodeerimisstandardeid ja teised kasutavad standardeid, mis võivad olla tõhusamad, kuid mitte ärilistel eesmärkidel. Samal ajal saab mõnda arendusarhitektuuri laiendada või muuta, teisi aga mitte. Esimese puhul sõltub see sellest, kas programmeerija töötab ärikeskkonnas või teeb rakendusi üksi. Viimane sõltub sellest, kas programmeerija on praeguse arhitektuuriga rahul või soovib ta arhitektuuri perioodiliselt uuendada.
Dokumentatsioon ja kogukond on iga programmi jaoks olulised, kuid kuna mõnda Java®-i arendustarkvara teeb väike meeskond, kellel on vaid paar jälgijat ja dokumentatsiooni pole, võib see muutuda tõsiseks probleemiks. Mõiste “dokumentatsioon” viitab juhendile, mis ütleb kasutajale, kuidas rakendada tarkvara pistikprogramme ja kodeerimise loomise funktsioone. Dokumentatsiooni asemel või selle täiendamiseks võib programmeerija küsimustele vastata kirglik võrgukogukond. Kui kumbki pole saadaval, peab programmeerija maha istuma ja proovima süsteemi ilma abita välja mõelda, mis võib viia tundide või päevade vähese tootlikkuseni.
Java® arendustarkvaras sisalduvad funktsioonid võivad oluliselt muuta ja nendega tuleb arvestada. Mõned arendustarkvara tüübid on ulatuslikud ja saavad hakkama enamiku kodeerimisega ning teised on lihtsad ja suudavad teha vaid mõnda kodeerimisprotseduuri. Koos kodeerimise genereerimisega peab programmeerija välja selgitama, kas tarkvara on vaid tegevussüsteem või on seda võimalik laiendada.