Συνήθεις ερωτήσεις για το JDT

Μπορώ να χρησιμοποιήσω άλλο μεταγλωττιστή Java εκτός του ενσωματωμένου (για παράδειγμα, javac) με τον πάγκο εργασίας;

Όχι. Το JDT παρέχει ένα πλήθος σύνθετων λειτουργιών, όπως η πλήρως αυτόματη αυξητική αναμεταγλώττιση, η αποτίμηση τμημάτων κώδικα, η αυτόματη συμπλήρωση κώδικα, οι ιεραρχίες ειδών και η αντικατάσταση χρησιμοποιούμενου κώδικα. Οι λειτουργίες αυτές απαιτούν ειδική υποστήριξη, η οποία βρίσκεται στο μεταγλωττιστή Java του πάγκου εργασίας (ένα ολοκληρωμένο τμήμα του εργαλείου αυξητικής δόμησης έργου JDT), αλλά δεν είναι διαθέσιμη σε τυπικούς μεταγλωττιστές Java.

Από πού προέρχονται τα πακέτα Java;

Ένα έργο περιέχει μόνο αρχεία και φακέλους. Η σημειογραφία ενός πακέτου Java εισάγεται από τη διαδρομή κλάσεων έργου Java (στο περιβάλλον χρήστη, η "Εξερεύνηση πακέτων" εμφανίζει τα πακέτα όπως ορίζονται από τη διαδρομή κλάσεων). Υπόδειξη: Εάν η δομή του πακέτου δεν είναι αυτή που αναμένατε, ελέγξτε τη διαδρομή κλάσεων. Η υποδομή αναζήτησης Java βρίσκει μόνο δηλώσεις για στοιχεία Java και παραπομπές από αυτά, στη διαδρομή κλάσεων.

Πότε χρησιμοποιώ ένα εσωτερικό και πότε ένα εξωτερικό αρχείο βιβλιοθήκης JAR;

Ένας εσωτερικός πόρος βρίσκεται σε κάποια έργα στον πάγκο εργασίας και επομένως η διαχείρισή του πραγματοποιείται από τον πάγκο εργασίας. Όπως και με τους άλλους πόρους, η διαχείριση των εκδοχών των πόρων αυτών μπορεί να πραγματοποιηθεί από τον πάγκο εργασίας. Ένας εξωτερικός πόρος δεν αποτελεί τμήμα του πάγκου εργασίας και μπορεί να χρησιμοποιηθεί μόνο μέσω παραπομπής. Για παράδειγμα, ένα JRE είναι συχνά εξωτερικό και πολύ μεγάλο και δεν χρειάζεται να συσχετιστεί με ένα σύστημα VCM.

Πότε θα πρέπει να χρησιμοποιώ φακέλους πρωτογενούς κώδικα σε ένα έργο Java;

Κάθε έργο Java εντοπίζει τα αντίστοιχα αρχεία πρωτογενούς κώδικα Java μέσω μιας ή περισσότερων καταχωρήσεων ειδών πρωτογενούς κώδικα στη διαδρομή κλάσεων του έργου. Χρησιμοποιήστε φακέλους πρωτογενούς κώδικα για την οργάνωση των πακέτων ενός μεγάλου έργου σε εύχρηστες ομάδες ή για τη διατήρηση του πρωτογενούς κώδικα ξεχωριστά από άλλα αρχεία του ίδιου έργου. Επίσης, μπορείτε να χρησιμοποιήσετε φακέλους πρωτογενούς κώδικα εάν έχετε αρχεία (για παράδειγμα, τεκμηρίωση) που δεν χρειάζεται να βρίσκονται στη διαδρομή δόμησης.

Τι είναι η προσάρτηση πρωτογενούς κώδικα; Πώς μπορώ να προσαρτήσω πρωτογενή κώδικα;

Οι βιβλιοθήκες αποθηκεύονται ως αρχεία JAR που περιέχουν δυαδικά αρχεία κλάσεων (και ίσως άλλους πόρους). Αυτά τα δυαδικά αρχεία κλάσεων παρέχουν πληροφορίες υπογραφής για πακέτα, κλάσεις, μεθόδους και πεδία. Οι πληροφορίες αυτές είναι επαρκείς για τη μεταγλώττιση ή την εκτέλεση, αλλά περιέχουν πολύ λιγότερες πληροφορίες από τον αρχικό πρωτογενή κώδικα. Προκειμένου να διευκολύνεται η αναζήτηση και ο εντοπισμός και η διόρθωση σφαλμάτων σε δυαδικές βιβλιοθήκες, υπάρχει ένας μηχανισμός για τη συσχέτιση ενός αντίστοιχου αρχείου πρωτογενούς κώδικα JAR (ή ZIP) με ένα δυαδικό αρχείο JAR.

Για ποιό λόγο όλοι οι πόροι μου αντιγράφονται στο φάκελο εξόδου (bin, για παράδειγμα);

Εάν το έργο Java χρησιμοποιεί φακέλους πρωτογενούς κώδικα, τότε κατά τη διαδικασία μεταγλώττισης των αρχείων πρωτογενούς κώδικα του έργου, ο μεταγλωττιστής Java αντιγράφει τους πόρους που δεν είναι Java στο φάκελο εξόδου, έτσι ώστε να είναι διαθέσιμοι στη διαδρομή κλάσης του προγράμματος που εκτελείται. Για να αποτρέψετε την αντιγραφή ορισμένων πόρων στη θέση εξόδου, μπορείτε να ορίσετε ένα φίλτρο πόρων, από τις προτιμήσεις του μεταγλωττιστή Java: Παράθυρο > Προτιμήσεις > Java > Μεταγλωττιστής > Δόμηση

Με ποιό τρόπο μπορώ να αποτρέψω την αντιγραφή των αρχείων τεκμηρίωσης στο φάκελο εξόδου του έργου;

Χρησιμοποιήστε φακέλους πρωτογενούς κώδικα και τοποθετήστε τους πόρους, που δε θέλετε να αντιγραφούν στο φάκελο εξόδου, σε έναν ξεχωριστό φάκελο, ο οποίος δεν συμπεριλαμβάνεται στη διαδρομή κλάσης. Μπορείτε επίσης να ορίσετε ένα φίλτρο πόρων, από τις προτιμήσεις του μεταγλωττιστή Java: Παράθυρο > Προτιμήσεις > Java > Μεταγλωττιστής > Δόμηση ως *.doc, για παράδειγμα.

Πώς μπορώ να δημιουργήσω ένα προεπιλεγμένο πακέτο;

Δεν χρειάζεται να το κάνετε. Τα αρχεία που περιέχονται στον κεντρικό φάκελο ενός φακέλου πρωτογενούς κώδικα ή έργου θεωρούνται ότι βρίσκονται στο προεπιλεγμένο πακέτο. Στην πράξη, κάθε φάκελος πρωτογενούς κώδικα μπορεί να διαθέτει ένα τμήμα του προεπιλεγμένου πακέτου.

Τι είναι η βελτιστοποίηση δομής;

Βελτιστοποίηση δομής είναι οι μετασχηματισμοί ενός προγράμματος χωρίς να αλλάζει η συμπεριφορά του. Το JDT υποστηρίζει ένα πλήθος μετασχηματισμών, οι οποίοι περιγράφονται στο βιβλίο του Martin Fowler Refactoring: Improving the Design of Existing Code, Addison Wesley 1999.

Πότε χρησιμοποιείται η επιλογή κώδικα / ανάλυση κώδικα (F3);

Για την εύρεση του στοιχείου Java το οποίο αντιστοιχεί σε μια περιοχή πρωτογενούς κώδικα με τη βοήθεια του μεταγλωττιστή.

Οι πληροφορίες προγράμματος Java (για παράδειγμα, ιεραρχία ειδών, δηλώσεις, παραπομπές) δημιουργούνται από το εργαλείο δόμησης Java; Εξακολουθούν να ενημερώνονται όταν η αυτόματη δόμηση είναι απενεργοποιημένη;

Οι πληροφορίες προγράμματος Java είναι ανεξάρτητες από το εργαλείο δόμησης Java. Ενημερώνονται αυτόματα όταν πραγματοποιούνται αλλαγές πόρων ή λειτουργίες Java. Συγκεκριμένα, το σύνολο των λειτουργιών που προσφέρεται από τα εργαλεία Java (για παράδειγμα, ιεραρχίες ειδών, αυτόματη συμπλήρωση κώδικα, αναζήτηση) θα συνεχίζουν να εκτελούνται με ακρίβεια, όταν η αυτόματη δόμηση είναι απενεργοποιημένη. Για παράδειγμα, όταν εκτελείται σύνθετη βελτιστοποίηση δομής που απαιτεί την απενεργοποίηση των εργαλείων δόμησης, μπορείτε να εξακολουθείτε να χρησιμοποιείτε την αυτόματη συμπλήρωση κώδικα, η οποία θα εμφανίζει τις πιο πρόσφατες αλλαγές (δεν έχει πραγματοποιηθεί ακόμη δόμηση). Εκτός από την εκκίνηση προγραμμάτων (δηλαδή, εκτέλεση και εντοπισμός και διόρθωση σφαλμάτων), η μόνη λειτουργία που απαιτεί το εργαλείο δόμησης Java είναι η αποτίμηση τμημάτων κώδικα.

Μετά το εκ νέου άνοιγμα ενός πάγκου εργασίας, η πρώτη δόμηση που πραγματοποιείται μετά την τροποποίηση ενός αρχείου πρωτογενούς κώδικα Java φαίνεται να διαρκεί πολύ. Για ποιό λόγο;

Το εργαλείο αυξητικής δόμησης έργου Java αποθηκεύει την εσωτερική του κατάσταση σε ένα αρχείο, όταν ο πάγκος εργασίας κλείνει. Κατά την πρώτη δόμηση μετά το εκ νέου άνοιγμα του έργου, το εργαλείο αυξητικής δόμησης έργου Java επαναφέρει την εσωτερική του κατάσταση. Όταν το αρχείο αυτό είναι μεγάλο, τότε συναντάται ασυνήθιστα μεγάλη καθυστέρηση για τη δόμηση.

Δεν μπορώ να δω μια ιεραρχία ειδών για την κλάση μου. Τι μπορώ να κάνω;

Βεβαιωθείτε ότι έχετε ορίσει σωστά τη διαδρομή κλάσης δόμησης. Ο ορισμός της κατάλληλης διαδρομής δόμησης αποτελεί σημαντική εργασία κατά την ανάπτυξη Java. Χωρίς τη σωστή διαδρομή δόμησης, δε θα έχετε τη δυνατότητα μεταγλώττισης του κώδικά σας. Επιπλέον, δε θα έχετε τη δυνατότητα αναζήτησης ή προβολής της ιεραρχίας ειδών για στοιχεία Java.

Πώς μπορώ να απενεργοποιήσω την "αυτόματη μεταγλώττιση" και να την εκτελέσω μη αυτόματα, όποτε θέλω;

Αποεπιλέξτε το τετραγωνίδιο επιλογής Αυτόματη δόμηση στη σελίδα προτιμήσεων Ανοίγει τη σελίδα προτιμήσεων "Χώρος εργασίας" Γενικά > Χώρος εργασίας. Όταν θέλετε να εκτελέσετε τη δόμηση, πατήστε Ctrl+B ή επιλέξτε Έργο > Δόμηση όλων από τη γραμμή μενού.

Υπόδειξη: όταν απενεργοποιείτε την "αυτόματη μεταγλώττιση" και πραγματοποιείτε τη δόμηση μη αυτόματα, μπορεί να θέλετε επιλέξετε το τετραγωνίδιο Αυτόματη αποθήκευση πριν τη δόμηση στη σελίδα προτιμήσεων Ανοίγει τη σελίδα προτιμήσεων "Χώρος εργασίας" Γενικά > χώρος εργασίας.

Όταν επιλέγω μια μέθοδο ή ένα πεδίο στην προβολή "Διάρθρωση", στη λειτουργία επεξεργασίας φαίνεται μόνο ο πρωτογενής κώδικας για το συγκεκριμένο στοιχείο. Τι πρέπει να κάνω για να βλέπω τον πρωτογενή κώδικα ολόκληρου του αρχείου;

Υπάρχει ένα κουμπί στη γραμμή εργαλείων, το Εμφάνιση πρωτογενούς κώδικα μόνο του επιλεγμένου στοιχείου - το μόνο που πρέπει να κάνετε είναι το απενεργοποιήσετε.

Μπορώ να ενθέσω φακέλους πρωτογενούς κώδικα;

Ναι, μπορείτε να χρησιμοποιήσετε φίλτρα εξαίρεσης για να δημιουργήσετε ένθετους φακέλους πρωτογενούς κώδικα.

Μπορώ να ξεχωρίσω τους φακέλους εξόδου για τον κάθε φάκελο πρωτογενούς κώδικα;

Ναι, επιλέξτε το τετραγωνίδιο Εμφάνιση φακέλων εξόδου για κάθε φάκελο πρωτογενούς κώδικα στη σελίδα ιδιοτήτων Διαδρομή δόμησης Java > Κώδικας του έργου Java.

Μπορώ να έχω ένα φάκελο εξόδου ή ένα φάκελο πρωτογενούς κώδικα εκτός του χώρου εργασίας;

Ναι, μπορείτε να δημιουργήσετε ένα διασυνδεδεμένο φάκελο ο οποίος θα δηλώνει την επιθυμητή θέση και να χρησιμοποιήσετε το φάκελο αυτό ως φάκελο πρωτογενούς κώδικα ή εξόδου για το έργο Java.

Σχετικές έννοιες

Εργαλεία ανάπτυξης Java (JDT)

Σχετικές παραπομπές

Σελίδα διαδρομής δόμησης Java
Γλωσσάρι JDT