Az Eclipse 3.0 verziójában a bedolgozó projektek összeépítési útvonalának kiszámításához a PDE a dinamikus osztályútvonalak módszert használja.
K: Mi az az osztályútvonal-stabilitás?
V: Az osztályútvonal-stabilitás az osztályútvonal módosításának mértéke,
tekintettel a fejlesztő által választott önállósági módszerre. Ideális esetben
az osztályútvonalaknak nem szabad megváltozniuk, függetlenül a munkaterület
forrásprojektjeinek kiegészítéseitől. A bináris projekt önállósága jó
osztályútvonal-stabilitást biztosít, ahol az összes osztályútvonal csak
projekthivatkozásokat tartalmaz. A külső bedolgozók önállósága kevésbé stabil
osztályútvonalakat biztosít. A külső függvénytárak helyi telepítési helyére
vonatkozóan még mindig stabilak, de a forrásprojekt bedolgozók listájának állandónak
kell maradnia egy csoport minden tagjánál, hogy azok egy lerakatban megoszthatók
legyenek.
A 2.0 verzió óta a bedolgozók helyéhez a bedolgozók verziójának hozzáadása a fájlrendszeren tovább csökkentette az osztályútvonalak stabilitását külső bedolgozók alkalmazásakor.
K: Ha a bináris projektek jobb osztályútvonal stabilitást nyújtanak, miért nem
mindig azokat használják?
V: Bináris projekteket alkalmazva az önállóság egy jó választás, amíg az
importált bedolgozók száma elég kicsi (pár tucat). Több száz bedolgozót tartalmazó
nagy termékeknél a rengeteg importálás nem megoldás.
Általában a fejlesztők önállóságot alkalmaznak néhány forrásprojekt esetén,
néhány tucat közvetlenül kapcsolódó bináris projekt esetén, minden mást pedig
külső bedolgozóként használnak. Pusztán elméleti szempontból különösnek tűnhet az
idő és erőforrások elpazarlása több tucat külső bedolgozó importálására ahhoz, hogy le
lehessen fordítani néhány forrásprojektet.
K: Úgy gondolom, hogy az önállóság (bináris projektek/külső bedolgozók)
módszere jobb. Miért baj, hogy az én csapatom azt használja, ha együtt csináljuk?
V: A statikus osztályútvonalak (bináris projektek vagy külső bedolgozók használata
esetén) rögzítik a választott önállósági módszert, és mindenki mást ennek a
használatára köteleznek.
K: Mik azok a dinamikus osztályútvonalak?
V: A Dinamikus osztályútvonal egy PDE szolgáltatás, ahol a bedolgozó
projekt osztályútvonalának a bedolgozó függőségekre vonatkozó részét a program
dinamikusan számítja ki a JDT osztályútvonal tároló technológia segítségével. A
dinamikus osztályútvonalak feloldása a szükséges időben történik, és a munkaterület
feltételeinek megfelelően mindig naprakész.
Továbbá az osztályútvonalak feloldásának dinamikus természete lehetővé teszi, hogy a
PDE alkalmazkodjon a módosításokhoz, és mindig a helyes osztályútvonallal
rendelkezzen, függetlenül az önállósági módszertől.
K: Milyen a dinamikus osztályútvonalak stabilitása?
V: Tökéletes. Mivel a szükséges bedolgozók minden bejegyzését a program egy
osztályútvonal tárolóbejegyzésre cseréli, az osztályútvonal mindig ugyanaz.
K: Hogyan használhatom ki a dinamikus osztályútvonalak előnyeit?
V: A dinamikus osztályútvonalakkal nincs szükség az önállósági stílus
előzetes megválasztására. Ha bináris projektek is vannak, a dinamikus
osztályútvonalak feloldása projekthivatkozásokat eredményez. Ha nincsenek, a
feloldás külső bedolgozó JAR-fájlokat eredményez. A bináris projektek felvételekor vagy
eltávolításakor a dinamikus osztályútvonalak követik a módosításokat és
alkalmazkodnak. Az osztályútvonalak frissítésére többé nincs szükség. Emellett más
csapatoknak, ha a CVS-ből egy vagy több projektet szeretnének lefordítani, nem kell
a saját önállósági stílusát használniuk.
K: Mivel a PDE mag oldja fel a dinamikus osztályútvonalakat, ez azt
jelenti, hogy függeni fogok a PDE helyes működésétől?
V: Egyszóval igen. Mivel dinamikus, az osztályútvonalat mindig röptében számítja
ki a PDE, az nincs rögzítve a .classpath fájlban (ez volt az alapötlet). De tartsa
szem előtt a következőt: A PDE az osztályútvonal kiszámítására egy fejlett
algoritmust használ, amely igyekszik, hogy a futásidejű feltételekhez a legközelebb
maradjon. Amit a JDT fordító "lát" fejlesztési időben, annak a lehető legközelebb
kell állnia a futás során az osztálybetöltők által látottakhoz. A PDE mag
a legtöbb esetben naprakészebb állapotban tudja tartani az osztályútvonalat, mint
a fejlesztő. Ha kézzel kell állítani az osztályútvonalat a fordításhoz, igen
valószínű, hogy valami baj van a beállításokkal, és nagy az esélye annak, hogy a
bedolgozó nem fog helyesen futni (az SWT csapat egy kivétel).
K: A csapatom kizárólag önállósági módszerekhez használ bináris projekteket. Elvesztek
valamit, ha dinamikus osztályútvonalak használatára váltok?
V: Nem. A dinamikus osztályútvonalak nem határozzák meg az önállósági
módszer kiválasztását. Egyszerűen feloldják a bedolgozó függőségeit az adott
környezetben.
Ha folytatja a külső bedolgozók importálását bináris projektként, a dinamikus
oyztályútvonalakat a PDE projekthivatkozásokra oldja fel, mint korábban.
K: Mit kell tennem a dinamikus osztályútvonalak aktivizálásához?
V: Frissítse egyszer az összes 2.0 bedolgozó osztályútvonalát. Észre fogja
venni, hogy az osztályútvonalak rövidebbek, és az összes függő bedolgozóhivatkozás
helyére egy tárolóbejegyzés kerül. Folytathatja a munkát. Ügyeljen arra, hogy
bevegye a forrásprojekteket a lerakatba, beleértve a .classpath fájlokat is.
K: További osztályútvonal-bejegyzésekkel rendelkezem az Ant
feladatok/kiszolgáló kisalkalmazások/JSP-k lefordításához.
V: Az osztályútvonal kiszámításának részeként a PDE figyelembe veszi a
"jars.extra.classpath" tulajdonságot a build.properties fájlból. Ha a beállítások
megfelelőek az összeépítéshez, a PDE előállítja a megfelelő osztályútvonalat.
K: Hogyan kezelhetem a dinamikusan kiszámított
osztályútvonal-bejegyzéseket?
V: Abban a valószínűtlen esetben, ha mégis meg kell változtatnia a dinamikus
osztályútvonal-bejegyzéseket, azt a Tulajdonságok>Java összeépítési
útvonal>Függvénytárak oldalon teheti meg. Bontsa ki a "Bedolgozó függőségek"
csomópontot, és ott módosítsa a bejegyzéseket.
K: A függvénytárak némely kiszámított bejegyzése nem rendelkezik
forráscsatolással. Felvehetem ezeket kézzel?
V: A PDE számítja ki a legtöbb függvénytár forráscsatolását. Van néhány
különleges eset, ahol az automatikus forráscsatolás meghiúsul, mivel a forrás zip
fájlok nem követik az elnevezési megállapodásokat. Ezekhez a bejegyzésekhez kézzel
is csatolhat forrásokat az összeépítési útvonal tulajdonságai párbeszédpanelben.
K: Amikor a PDE legközelebb dinamikusan kiszámítja az osztályútvonalat, törli a kézi forráscsatolásaim?
V: Nem. A PDE nyomon követi ezeket a kézi beállításokat, és újra alkalmazza
a dinamikus számítás után, feltéve, hogy a függvénytár útvonalai nem változnak.
K: Egy SWT fejlesztő vagyok. Használhatok dinamikus osztályútvonalakat?
V: Sajnos nem. Az SWT csapat egyedi önállósági beállítással rendelkezik, ahol a
program a különböző környezetek osztályútvonalait a lerakatba menti, és a
.classpath névre nevezi át őket a projektben a platformtól függően. A saját
önállósági módszerük használatát kell folytatniuk.