FAQ sui percorsi classi dinamici PDE

I percorsi dinamici sono il mezzo utilizzado da PDE per elaborare il percorso di generazione per i progetti di plugin in Eclipse 3.0.

D: Che cos'è la stabilità del percorso classi?
R:
La stabilità del percorso classi è una misura delle modifiche del percorso classi con riferimento alla scelta dell'auto hosting da parte di uno sviluppatore. In teoria, i percorsi classi non dovrebbero essere modificati a prescindere dal complemento dei progetti di origine dello spazio di lavoro. L'auto hosting del progetto binario offre una buona stabilità del percorso classi, per i percorsi classi che contengono solo riferimenti al progetto. L'auto hosting del plugin esterno fornisce percorsi classi meno stabili. Questi percorsi sono stabili per il percorso di installazione locale delle librerie esterne, ma l'elenco di plugin come progetti di origine deve rimanere costante per tutti i membri di un gruppo in modo da condividerli mediante un repository.

A partire dalla versione 2.0, la versione plugin aggiunta al percorso plugin sul filesystem ha ridotto ulteriormente la stabilità del percorso classi durante l'utilizzo dei plugin esterni.

D: Se i progetti binari offrono una maggiore stabilità del percorso classi, perché non vengono utilizzati sempre?
R:
L'auto hosting con i progetti binari importati rappresenta un'ottima scelta finché il numero dei plugin importati è ragionevolmente limitato (qualche dozzina). Per prodotti di grandi dimensioni con centinaia di plugin, non è consigliabile eseguire un'importazione totale. Di norma, gli sviluppatori eseguono l'auto hosting con pochi progetti di origine, qualche dozzina direttamente connessa ai progetti binari e il resto come plugin esterni. Da un punto di vista strettamente teorico, sembra strano perdere tempo e risorse a importare dozzine di plugin esterni in modo da compilare pochi progetti di origine.

D: Penso che il metodo di auto hosting (progetti binari/plugin esterni) sia il migliore. Cosa c'è di sbagliato se io e il mio gruppo lo utilizziamo?
R:
I percorsi classi statici (che utilizzano progetti binari o plugin esterni) eseguono il cast del metodo auto hosting scelto e obbligano tutti gli altri a utilizzarlo.

D: Cosa sono i percorsi classi dinamici?
R: I percorsi classi dinamici rappresentano una funzione PDE che consente di elaborare una parte del percorso classi del progetto di plugin, connessa alle dipendenze plugin, in maniera dinamica utilizzando la tecnologia del contenitore del percorso classi JDT. La risoluzione dei percorsi classi dinamici viene eseguita 'just in time' ed è sempre aggiornata con le condizioni dello spazio di lavoro. Inoltre, la natura dinamica della risoluzione dei percorsi classi consente il PDE di adattarsi alle modifiche e avere sempre il percorso classi corretto a prescindere dal metodo di auto hosting.

D: Che cos'è la stabilità del percorso classi dei percorsi classi dinamici?
R:
Il valore definitivo. Poiché tutte le voci per i plugin richiesti vengono sostituite con una voce del contenitore del percorso classi, il percorso classi resta sempre lo stesso.

D: Che aiuto forniscono i percorsi classi dinamici?
R: Con i percorsi classi dinamici, non è necessario prendere decisioni in merito allo stile dell'auto hosting. In presenza di progetti binari, i percorsi dinamici verranno risolti in riferimenti dei progetti. In caso contrario, verranno risolti in JAR plugin esterni. Man mano che i progetti binari vengono aggiunti o rimossi, i percorsi dinamici tracceranno le modifiche e si adatteranno. Non sarà più necessario aggiornare il proprio percorso classi. Inoltre, altri gruppi che desiderano uno o più dei vostri progetti dal CVS per richiamarli per la compilazione non devono utilizzare il vostro stile personale di auto hosting.

D: Poiché il PDE Core risolve i percorsi classi dinamici, vuol dire che le mie scelte dipenderanno dal PDE?
R:
Sì. Essendo dinamico, il percorso classi verrà sempre eseguito rapidamente e non codificato su disco fisso nel file .classpath. Ma si consideri quanto segue: il PDE ha un algoritmo sofisticato per l'elaborazione del percorso classi che si sforza di tenere l'utente quanto più vicino possibile alle condizioni di runtime. Quanto il compilatore JDT 'vede' in fase di sviluppo dovrebbe essere quanto più simile possibile a quanto i programmi di caricamento classi vedono in fase di runtime. PDE Core è più in grado di tenere il percorso classi aggiornato rispetto agli utenti. Se è necessario forzare manualmente il percorso classi per compilarlo, vuol dire che qualcosa non va nella propria impostazione ed è molto probabile che il proprio plugin non venga eseguito correttamente (il gruppo SWT è un'eccezione).

D: Il mio gruppo utilizza i progetti binari esclusivamente per l'auto hosting. Se si passa ai percorsi classi dinamici, si perde qualcosa?
R:
No. I percorsi classi dinamici non determinano la scelta personale in merito all'auto hosting. Risolvono semplicemente le dipendenze plugin in un determinato contesto. Se si continua l'importazione dei plugin esterni come progetti binari, i percorsi dinamici verranno risolti in riferimenti del progetto, come in precedenza.

D: Cosa è necessario per attivare i percorsi classi dinamici?
R:
Aggiornare i percorsi classe di tutti i plugin 2.1 una volta sola. Si noterà che i percorsi classi sono più brevi e tutti i riferimenti ai plugin dipendenti vengono sostituiti da una voce del contenitore. È possibile continuare il proprio lavoro. Verificare i progetti di origine del repository, inclusi i file modificati .classpath.

D: Dispongo di voci del percorso classi extra e posso quindi compilare il mio Ant tasks/servlets/JSPs.
R:
Come parte dell'elaborazione del percorso classi, il PDE prende in considerazione la proprietà 'jars.extra.classpath' dal file build.properties. Se si sta eseguendo l'impostazione correttamente per la generazione, il PDE genererà il percorso classi corretto.

D: Come vanno gestite le voci del percorso classi elaborate in maniera dinamica?
R:
Nel caso remoto in cui sia necessario gestire le voci del proprio percorso dinamico, è possibile farlo utilizzando la scheda Proprietà>Percorso di generazione Java>Librerie. Espandere il nodo 'Dipendenze plugin' e gestire le voci in questa posizione.

D: Alcune delle voci elaborate per le librerie non hanno collegamenti di origine. È possibile aggiungerli manualmente?
R:
Il PDE elabora i collegamenti di origine per la maggior parte delle librerie. Esistono alcuni casi in cui i collegamenti di origine automatici non riescono a causa di zip di origine che non seguono le convezioni di denominazione. È possibile collegare origini manualmente per queste voci nella finestra di dialogo delle proprietà del percorso di generazione.

D: I collegamenti di origine manuali verranno eliminati durante la successiva elaborazione da parte del PDE del percorso classi?
R:
No. Il PDE tiene traccia di questi collegamenti manuali e li riapplica in seguito all'elaborazione dinamica finché i percorsi delle librerie non vengono modificati.

D: Sono uno sviluppatore SWT. Posso utilizzare i percorsi classi dinamici?
R:
Purtroppo no. Il gruppo SWT ha un'unica impostazione di auto hosting in cui i percorsi classi per diversi ambienti sono salvati nel repository e rinominati nel file .classpath nel progetto in base alla piattaforma in cui vengono utilizzati. Sarà necessario continuare a utilizzare i propri metodi di auto hosting.