[SOLVED] Ερώτηση αρχάριου.

Συζητήσεις για την Java

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
Apostolis_38
Δημοσιεύσεις: 1969
Εγγραφή: 14 Φεβ 2008 16:20
Τοποθεσία: ΠΕΙΡΑΙΑΣ

[SOLVED] Ερώτηση αρχάριου.

Δημοσίευση από Apostolis_38 » 02 Φεβ 2012 10:15

Καλημέρα σε όλους.
Αρχάριος στην java οπότε μη βαράτε αν σας φανεί χαζή η ερώτηση. :D

Η απορία είνα απλή.
Φτιάχνουμε το πρόγραμμά μας (κλάσεις, πακέτα κ.λ.π.), το κάνουμε compile, έχουμε τα class files μας και μετά τι;
Πως τρέχουμε την εφαρμογή μας;
Δεν εννοώ φυσικά με java από command prompt ή από terminal αλλά σαν εφαρμογή.
Οπως κάνουμε κλίκ π.χ. σε ένα exe.
Κάπου έψαξα και διάβασα οτι δημιουργούμε ένα jar αρχείο που να περιέχει τα files μας.
Και; Πως θα τρέξει;

Φαντάζομαι δεν παίζει ρόλο αλλά να αναφέρω οτι χρησιμοποιώ το Netbeans, αν και ξέρω να κάνω compile και με την javac.
Επίσης, οτι χρησιμοποιώ JDK 7.
Και μιλάμε πάντα για "απλή" Java. Οχι applets, JavaFX κ.λ.π.

Αν μπορεί κάποιος να με διαφωτίσει.
Τελευταία επεξεργασία από το μέλος Apostolis_38 την 03 Φεβ 2012 13:53, έχει επεξεργασθεί 1 φορά συνολικά.

Άβαταρ μέλους
burnmind
Script Master
Δημοσιεύσεις: 954
Εγγραφή: 26 Σεπ 2009 02:14
Τοποθεσία: UK
Επικοινωνία:

[SOLVED] Ερώτηση αρχάριου.

Δημοσίευση από burnmind » 02 Φεβ 2012 11:32

Αφού χρησιμοποιείς το NetBeans, αφότου κάνεις compile πήγαινε στον φάκελο του project σου και θα βρεις το jar αρχείο έτοιμο στον φάκελο "dist" (υπάρχουν επιλογές για το τι θα περιέχει το jar file στα properties του project).

Μπορείς να το τρέξεις από command line με τον εξής τρόπο:

Κώδικας: Επιλογή όλων

java -jar [path προς το jar file αν δεν είσαι στον ίδιο φάκελο]/whatever.jar
Αν το πρόγραμμά σου περιέχει μόνο System.out output και όχι κάποιο γραφικό περιβάλλον (πχ Swing) τότε νομίζω πως με διπλό click πάνω του δε θα σου εμφανίσει κάτι, αλλά μπορεί να κάνω και λάθος καθώς δε χρησιμοποιώ τη συγκεκριμένη λύση. Δεν είμαι σε pc που να έχει Java αυτή τη στιγμή για να το δοκιμάσω.

Apostolis_38
Δημοσιεύσεις: 1969
Εγγραφή: 14 Φεβ 2008 16:20
Τοποθεσία: ΠΕΙΡΑΙΑΣ

[SOLVED] Ερώτηση αρχάριου.

Δημοσίευση από Apostolis_38 » 02 Φεβ 2012 11:52

Μάλιστα.

Απλώς η απορία μου είναι πιο γενική.
Αν υποθέσουμε οτι γράφω μια εφαρμογή και την δίνω σε κάποιον.
Πελάτης, φίλος κ.λ.π.
Πως θα την τρέξει ώστε να την χρησιμοποιήσει; Δεν είναι δυνατόν να του ζητήσω να εγκαταστήσει το Netbeans. :D
Και ας θεωρήσουμε δεδομένο οτι μιλάμε για εφαρμογή που έχει γραφικό περιβάλλον.

Σε ευχαριστώ πολύ πάντως.
Και δεν είναι ανάγκη να μου τα δώσεις όλα στο πιάτο.
Αν έχεις κάποια link ή κάποια διατύπωση για το πως μπορώ να το googlάρω, θα την βρω την άκρη.
Αλλά έτσι όπως το ψάχνω εγώ δεν βρίσκω άκρη.

Άβαταρ μέλους
burnmind
Script Master
Δημοσιεύσεις: 954
Εγγραφή: 26 Σεπ 2009 02:14
Τοποθεσία: UK
Επικοινωνία:

[SOLVED] Ερώτηση αρχάριου.

Δημοσίευση από burnmind » 02 Φεβ 2012 12:21

Πρόσεξε, δε σου είπα πως χρειάζεται το NetBeans για να το τρέξεις, σου είπα απλώς πως το NetBeans (που χρησιμοποιείς) φτιάχνει μόνο του το jar το οποίο θα δώσεις* σε οποιονδήποτε χρειάζεται να τρέξει την εφαρμογή. Αυτός το μόνο που θα χρειαστεί είναι να έχει εγκατεστημένη τη Java (δηλαδή το ίδιο που χρειάζεται για να τρέξει οποιαδήποτε άλλη Java εφαρμογή).

Από εκεί και πέρα, αν η εφαρμογή έχει command-line output και δεν τρέχει απλά με διπλό click (ΑΝ όντως συμβαίνει αυτό όπως προανέφερα), ένα workaround είναι να φτιάξεις ένα απλό batch file το οποίο θα δίνεις μαζί με το jar.

Αν για παράδειγμα θέλεις να τρέξεις το test.jar, τότε δημιούργησε το something.bat (το οποίο θα πεις στον χρήστη να τρέξει) και μέσα του βάλε το εξής:

Κώδικας: Επιλογή όλων

@Echo off
java -jar test.jar
Resources:
Creating a JAR File (από το επίσημο documentation)
Packaging and Deploying Desktop Java Applications (μέσω του NetBeans)
JavaRanch Forums (με έχει βοηθήσει άπειρες φορές, οπότε κάνε ένα search κι εκεί)

*Υπάρχει η περίπτωση να χρησιμοποιείς και libraries τρίτων στο πρόγραμμά σου, οπότε θα πρέπει να υπάρχουν κι αυτά μαζί, αλλά αν φτάσεις μέχρι εκεί θα τη βρεις την άκρη.

Apostolis_38
Δημοσιεύσεις: 1969
Εγγραφή: 14 Φεβ 2008 16:20
Τοποθεσία: ΠΕΙΡΑΙΑΣ

[SOLVED] Ερώτηση αρχάριου.

Δημοσίευση από Apostolis_38 » 02 Φεβ 2012 12:25

Το παλιό καλό batchάκι :D

Σε ευχαριστώ πολύ.

Άβαταρ μέλους
burnmind
Script Master
Δημοσιεύσεις: 954
Εγγραφή: 26 Σεπ 2009 02:14
Τοποθεσία: UK
Επικοινωνία:

[SOLVED] Ερώτηση αρχάριου.

Δημοσίευση από burnmind » 02 Φεβ 2012 12:30

Να 'σαι καλά. :)

Apostolis_38
Δημοσιεύσεις: 1969
Εγγραφή: 14 Φεβ 2008 16:20
Τοποθεσία: ΠΕΙΡΑΙΑΣ

[SOLVED] Ερώτηση αρχάριου.

Δημοσίευση από Apostolis_38 » 03 Φεβ 2012 13:48

Ολα ok. :pint:
Το δεύτερο link που έδωσες είναι κατατοπιστικότατο και με παράδειγμα.
Εχει μερικά πραγματάκια/ρυθμίσεις που πρέπει να γίνουν για να δημιουργηθεί το jar.
Αν και η εφαρφμογή δεν τρέχει με κλίκ, σε αυτό φταίει το λειτουργικό.
Πιθανώς κι όλας να τα έχω κάνει μπάχαλο γιατί πάνω στην άγνοια μου και στην προσπάθεια να εγκαταστήσω το περιβάλλον (jdk/netbeans-eclipse) εγκατέστησα το μισό διαδίκτυο :D
Αλλά θα τη βρω την άκρη.

Να 'σαι καλά.

Απάντηση

Επιστροφή στο “Java”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες