Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    costruzione di un eseguibile java

    salve sto provando a costruire un eseguibile, quindi un file jar; ora ho scritto questo codice che è una banale connessione mysql
    codice:
    import java.sql.*;
    import javax.sql.*;
    import java.sql.SQLException;
    import javax.swing.JOptionPane;
    import javax.swing.JFrame;
    /**
     *
     * @author Roberto
     */
    public class Connesione extends JFrame {
    
           public Connection conn;
           public Statement st;
           public ResultSet rs;
           public ResultSetMetaData rsmd;
    
    
    
    
        public Connesione() throws InstantiationException, IllegalAccessException, SQLException{
            super("Prova Connesione");
            setSize(350,350);
            setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    
            
            
                 String Username = "root";
    
                 String Password = "root";
    
                 String Url = "jdbc:mysql://localhost:3306/Test";
              try {
                 Class.forName("com.mysql.jdbc.Driver").newInstance();
    
                 conn = DriverManager.getConnection(Url, Username, Password);
    
                 JOptionPane.showMessageDialog(this,"CONNESSIONE EFFETTUATA");
    
                 }// fine try
              catch (ClassNotFoundException ex) {
                JOptionPane.showMessageDialog(this,"CLASSE NON TROVATA");
            } // fine primo catch
              catch (InstantiationException ex) {
                JOptionPane.showMessageDialog(this,"MANCATA CONNESSIONE");
            } // fine secondo catch
              catch (IllegalAccessException ex) {
                JOptionPane.showMessageDialog(this,"MANCATA CONNESSIONE");
            }// fine terzo catch
              
    
           
    
    
        }// fine costruttore
         public static void main( String[] args ) throws InstantiationException, IllegalAccessException, SQLException{
             Connesione v = new Connesione();
             v.setVisible(true);
         }// fine main
    }// fine
    per la connessioen ho usato questo file jar che si trova nella stessa cartella di connesione.class:
    mysql-connector-java-5.1.7-bin.jar

    Ora ho aperto il file Manifest che si trova nella cartello del progetto che ho creato e al posto dello script di default che è questo :

    Manifest-Version: 1.0
    X-COMMENT: Main-Class will be added automatically by build

    ho scritto

    Manifest-Version: 1.0
    Main-Class: Connesione
    Class-Path: mysql-connector-java-5.1.7-bin.jar


    dopodiche ho aperto il prompt del comanda dos ed ho digitato questo :

    jar cvfm manifest applicazione.jar Connesione.class

    però mi dice che non trova il file, innanzitutto vorrei sapere se la procedura è esatta oppure dove sto sbagliando.

    saluti Roberto

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: costruzione di un eseguibile java

    Originariamente inviato da RobertoBel
    ho digitato questo :

    jar cvfm manifest applicazione.jar Connesione.class
    No, è sbagliato. Le opzioni (tra cui 'f' e 'm') le puoi mettere nell'ordine che vuoi (cvfm o cvmf o cmvf ... non ha importanza) ma la cosa davvero importante è che i relativi parametri (nome jar e nome manifest) siano nello stesso ordine con cui hai indicato f e m.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3

    Re: Re: costruzione di un eseguibile java

    Originariamente inviato da andbin
    No, è sbagliato. Le opzioni (tra cui 'f' e 'm') le puoi mettere nell'ordine che vuoi (cvfm o cvmf o cmvf ... non ha importanza) ma la cosa davvero importante è che i relativi parametri (nome jar e nome manifest) siano nello stesso ordine con cui hai indicato f e m.
    graziee milleeee, il jar è riuscito e funziona, ora però è sorto un'altro problema dovrei caricare un immagine che ho messo dentro un JLabel ( che si trova nella stessa cartella del file.class )che però non viene caricata quando lancio il jar, mentre quando lancio loscript da netbeans si vede. Bisogna specificarlo nel manifest o nella costruzione del jar?

    Il metodo che uso per caricare le immagini è questo :

    codice:
    protected static ImageIcon createImageIcon(String path,
                                                   String description) {
            java.net.URL imgURL = nomeclasse.class.getResource(path);
            if (imgURL != null) {
                return new ImageIcon(imgURL, description);
            } else {
                System.err.println("FILE NON TROVATO: " + path);
                return null;
            }
        }

    saluti Roberto

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Re: Re: costruzione di un eseguibile java

    Originariamente inviato da RobertoBel
    nella costruzione del jar?
    Nel jar devi certamente "tirare" dentro la immagine .... e nel posto giusto, ovviamente.

    Originariamente inviato da RobertoBel
    Il metodo che uso per caricare le immagini è questo :

    codice:
    java.net.URL imgURL = nomeclasse.class.getResource(path);
    Quando si usa getResource/getResourceAsStream su un Class bisogna prestare attenzione ad una cosa: se la specifica della risorsa non inizia con "/" la specifica è relativa al package di quella classe. Se inizia con "/" il package della classe non centra e la risorsa viene cercata con quel path preciso dalla "radice".

    Se nomeclasse è nel package com.esempio:

    a) Se chiedo una risorsa "immagini/pippo.gif" allora cercherà in classpath una risorsa pippo.gif nel package com.esempio.immagini (in pratica sotto un percorso com/esempio/immagini).

    b) Se chiedo una risorsa "/immagini/pippo.gif" allora cercherà in classpath una risorsa pippo.gif nel package immagini (in pratica sotto un percorso immagini).

    Ed è chiaro che questo deve "riflettersi" nella struttura delle directory ... anche nel jar!
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.