2012. március 2., péntek

JDK, JavaFX és NetBeans upgrade

Ma úgy döntöttem, hogy upgrade-elem a NetBeans-emet 7.1beta-ról a 7.1 stabil változatra, illetve a JavaFX 2.0.2-met a 2.0.3-as verzióra. Közben viszont láttam, hogy a JDK-hoz a 7u2-től már hozzácsapják a JavaFX-et is, úgyhogy leszedtem a legfrissebb JDK 7u3-at is.

Eltávolítottam a régebbi változatokat szép sorjában, majd feltoltam mindent egymás után. Jó dolog egyébként, hogy a JDK-ban már a JFX is benne van, időt és adatforgalmat/helyet is megtakarítok vele, mert így a JDK telepítője csak 5 megával több, míg a külön JFX telepítő 14 körül van.

Viszont a gond ott kezdődött, hogy megnyitottam az új NetBeans-ben a beta verzióval fejlesztett projektemet.  Már megnyitáskor jelezte, hogy valami gond van a függőségekkel: a JavaFX platform neve megváltozott az új verzióban. Jó, ezt még egyszerű átállítani "Default JFX platform"-ról "Default JavaFX platform"-ra.

Ezután build-elés meghiúsult egy hibaüzenettel: Target "jfxsa-run" does not exist in the project <projektem neve>. Éreztem, hogy a build szkriptben lehet valami változtatás, de ehhez nem értek, úgyhogy gugliztam. A NetBeans fórumain redundánsan is jelezték, mint bugot. Valahol azt találtam, hogy instabil->stabil upgrade-hez nem adnak támogatást a fejlesztők. (Szerintem ez mocsokság.) Az egyik hozzászólásban azt írták, hogy új projekt létrehozásával és átpakolgatással megszűnik a gond. Persze én is gondoltam erre, csak reméltem, hogy lesz egyszerűbb megoldás is. Úgyhogy végül ezt csináltam. Létrehoztam másik mappában egy ugyanolyan nevű projektet, átcopy-ztam mindent, beállítottam a lib-eket, majd az nbproject mappa tartalmát áthúztam az eredeti projektmappámba.

Az EclipseLink JPA2.0-val meggyűlt a bajom. Csak úgy tudtam újra hozzáadni, hogy létrehoztam egy új entity class-t, azzal a NB beimportálta a lib-et, majd töröltem az osztályt, ezután pedig felülírtam a saját persistence.xml fájlommal az újonnan generáltat. És ekkor sikerült végre elérni, hogy az újraépített projekt működjön is.

Frissítés, 2012.03.08.