giovannim Δημοσ. 25 Οκτωβρίου 2008 Δημοσ. 25 Οκτωβρίου 2008 Καλησπέρα σε όλους. Λοιπόν, έχω ένα project φτιαγμένο σε java στο Eclipse το οποίο είναι συνδεδεμένο με μία βάση δεδομένων MySQL χρησιμοποιώντας τον jdbc driver. Μέσα από το eclipse, όταν το κάνω run όλα τρέχουν κανονικά. Κανένα πρόβλημα. Όμως μόλις δοκιμάζω να το κάνω Export (πηγαίνοντας: File->Export->JAR file) το αρχείο jar που δημιουργείται δεν μπορεί να συνδεθεί με την βάση δεδομένων. Όλα τα άλλα τρέχουν κανονικά, εκτός από την σύνδεση. Τι κάνω λάθος; Πρέπει να ορίσω κάτι στο manifest που ξεχνάω; Ξέχασα να αναφέρω ότι το library που χρησιμοποιώ για την σύνδεση είναι το "mysql-connector-java-5.0.7-bin.jar"
alex2005 Δημοσ. 25 Οκτωβρίου 2008 Δημοσ. 25 Οκτωβρίου 2008 Ναι, πρέπει να ορίσεις στο manifest το classpath του jar αρχείου που είναι οι JDBC drivers.
giovannim Δημοσ. 25 Οκτωβρίου 2008 Μέλος Δημοσ. 25 Οκτωβρίου 2008 Καταρχήν θα ήθελα να σ' ευχαριστήσω για την απάντηση. Έβαλα μέσα στο manifest.mf το : Class-Path: lib/mysql-connector-java-5.0.7-bin.jar Το έκανα refresh στο eclipse, ξανά export, αλλά πάλι τίποτα. Δεν συνδέεται με την mysql.Λοιπόν το Directory structure μου είναι το παρακάτω: dbconnector gui img lib META-INF queries .classpath .project manifest.mf Πως θα πρέπει να το γράψω;
alex2005 Δημοσ. 25 Οκτωβρίου 2008 Δημοσ. 25 Οκτωβρίου 2008 Καλά το έχεις γράψει το Class-Path. To manifest.mf είναι μέσα στον META-INF φάκελο ε?
giovannim Δημοσ. 25 Οκτωβρίου 2008 Μέλος Δημοσ. 25 Οκτωβρίου 2008 Ναι είναι. Το έχω κοιτάξει γιατί το σκέφτηκα κι' εγώ και είναι έτσι όπως θα έπρεπε να είναι. Αυτό που βλέπεις στο root είναι το δικό μου που έφτιαξα για να δηλώσω στο export να πάρει τις δικές μου ρυθμίσεις . Παρόλα αυτά, συνεχίζει να μην συνδέεται με την mysql. Δεν ξέρω τι άλλο να κάνω και να κοιτάξω! Μήπως υπάρχει άλλος τρόπος να το κάνω εκτελέσιμο εκτός eclipse;
alex2005 Δημοσ. 25 Οκτωβρίου 2008 Δημοσ. 25 Οκτωβρίου 2008 To έχεις κάνει extract το jar για να δεις τι έχει κάνει το eclipse? Πάντως αν δεν μπορείς να κάνεις τίποτα, τότε φτιάξε μόνος σου το jar αρχείο. Απλά φτιάξε έναν φάκελο με την σωστή δομή και χρησιμοποίησε το jar.exe που περιέχεται στο Java Development Kit που έχεις. Για πληροφορίες ρίξε μία ματιά εδώ: http://java.sun.com/docs/books/tutorial/deployment/jar/build.html Εγώ αυτό θα έκανα στην θέση σου, επειδή στο παρελθόν είχα πολλά προβλήματα με το NetBeans και τα jar που μου έφτιαχνε. Για αυτόν τον λόγο έχω φτιάξει και μία μικρή εφαρμογούλα για να φτιάχνω τα δικά μου jar. Αν θες στην στέλνω, pm me.
giovannim Δημοσ. 25 Οκτωβρίου 2008 Μέλος Δημοσ. 25 Οκτωβρίου 2008 Ναι, άνοιξα το jar με το winrar και είδα πώς όλα τα αρχεία και το manifest ήταν έτσι όπως το ήθελα, αλλά δεν… ! Σου στέλνω σε pm το mail μου να μου στείλεις το πρόγραμμά σου αν είναι εύκολο, ωστόσο βλέπω και το link που μου έδωσες. Σ' ευχαριστώ πολύ για την βοήθεια.
giovannim Δημοσ. 27 Οκτωβρίου 2008 Μέλος Δημοσ. 27 Οκτωβρίου 2008 Λοιπόν, ενώ κατάφερα να κάνω export και να συνδεθεί "επιτέλους" με την db σε mysql, τώρα έχω άλλο πρόβλημα. Το πρόγραμμα δεν ξεκινά κανένα από τα gui σε swing που έχω φτιάξει και ξεκινά με την μορφή που επισυνάπτω. Ακόμη πρόσεξα ότι όταν πάω να κάνω Export->Runnable JAR file μέσα από το Eclipse, μου βγάζει το ακόλουθο μήνυμα: "VM arguments will not be part of runnable JAR. Arguments can be passed on the command line when launching the JAR". Να συμπληρώσω ότι μέσα από το Eclipse, τρέχει κανονικά χωρίς κανένα σφάλμα.
alex2005 Δημοσ. 27 Οκτωβρίου 2008 Δημοσ. 27 Οκτωβρίου 2008 Ε παράθυρο είναι αυτό που σου τρέχει, μόνο που έχει 0 πλάτος και 0 ύψος. Δηλαδή δεν τα έχεις θέσει πουθενά. Για βάλε λίγο τον κώδικά σου που αρχικοποιεί το παράθυρο.
giovannim Δημοσ. 27 Οκτωβρίου 2008 Μέλος Δημοσ. 27 Οκτωβρίου 2008 > private void initGUI() { try { setDefaultCloseOperation(DISPOSE_ON_CLOSE); GroupLayout thisLayout = new GroupLayout( (JComponent) getContentPane()); getContentPane().setLayout(thisLayout); { adminButton = new JButton(); adminButton.setAction(getCallLoginAdminWindow()); } { usersButton = new JButton(); usersButton.setAction(getCallDocentiLoginWindow()); } { reportsButton = new JButton(); reportsButton.setAction(getCallReportisticaWindow()); } thisLayout .setVerticalGroup(thisLayout .createSequentialGroup() .addContainerGap(34, Short.MAX_VALUE) .addGroup( thisLayout .createParallelGroup() .addGroup( thisLayout .createParallelGroup( GroupLayout.Alignment.BASELINE) .addComponent( adminButton, GroupLayout.Alignment.BASELINE, GroupLayout.PREFERRED_SIZE, 71, GroupLayout.PREFERRED_SIZE) .addComponent( usersButton, GroupLayout.Alignment.BASELINE, GroupLayout.PREFERRED_SIZE, 71, GroupLayout.PREFERRED_SIZE)) .addComponent( reportsButton, GroupLayout.Alignment.LEADING, GroupLayout.PREFERRED_SIZE, 71, GroupLayout.PREFERRED_SIZE)) .addContainerGap()); thisLayout .setHorizontalGroup(thisLayout.createSequentialGroup() .addContainerGap().addComponent(adminButton, GroupLayout.PREFERRED_SIZE, 83, GroupLayout.PREFERRED_SIZE) .addPreferredGap( LayoutStyle.ComponentPlacement.RELATED) .addComponent(usersButton, GroupLayout.PREFERRED_SIZE, 83, GroupLayout.PREFERRED_SIZE) .addPreferredGap( LayoutStyle.ComponentPlacement.RELATED) .addComponent(reportsButton, GroupLayout.PREFERRED_SIZE, 83, GroupLayout.PREFERRED_SIZE) .addContainerGap(21, 21)); pack(); this.setSize(300, 150); } catch (Exception e) { e.printStackTrace(); } } -----Προστέθηκε 27/10/2008 στις 04 : 02 : 56----- Ε παράθυρο είναι αυτό που σου τρέχει, μόνο που έχει 0 πλάτος και 0 ύψος.Δηλαδή δεν τα έχεις θέσει πουθενά..... Δε φταίει αυτό, γιατί το παράθυρο όταν τρέχει και το κάνω resize είναι κενό. -----Προστέθηκε 27/10/2008 στις 10 : 14 : 48----- Παιδία ευχαριστώ για την βοήθειά σας, όποια και αν ήτα αυτή. Το έφτιαξα. Είχα κάνει μία γκάφα (του πρωτάρη), δεν είχα βάλει JPanel και είχα βάλει τα buttons απευθείας στο JFrame. Και με την ευκαιρία ήθελα να αναφέρω κάτι που διάβασα εδώ στο forum του insomnia: Δυστυχώς δεν γεννηθήκαμε όλοι με το να τα ξέρουμε όλα, όπως "μερικοί" που ενοχλούνται με τις ερωτήσεις φοιτητών. Αν δεν θέσουμε μέσα στα forum κάποιους προβληματισμούς και κάποια εμπόδια που έχουμε να μας βοηθήσουν κάποιοι που - υποτίθεται ότι ξέρουν - για ποιο λόγο να υπάρχουν τα forum;
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.