Creare e importare una libreria

di il
12 risposte

Creare e importare una libreria

Ho creato una libreria per scrivere e leggere su file xls che deriva da un'altra libreria e vorrei salvare tutto in un nuovo file .jar. E' possibile, come si esegue questa procedura?

Io ho creato una classe Main vuota e poi ho esportato tutto il lavoro in .jar poi ho creato un nuovo progetto di lavoro (solo ai fini di test del bytecode) ed ho importato il file .jar precedentemente creato però non funziona e mi da il seguente errore:
The method vvv(...) is undefined for the tipe main.
se scrivo:
import vvv.*;
non funziona...
The import vvv cannot be resolved.

12 Risposte

  • Re: Creare e importare una libreria

    Hai creato una libreria e non sai come funzionano i jar???

    suona un pò strano, ma comunque...

    La tua libreria non sarà altro che un package visto all'interno del progetto, quindi tu, nel tuo idee, devi dirgli di importare la libreria aggiungendola al buildpath (potresti farlo anche sistemando le variabili di sistema o spostandola nella rootlibrary di java...)

    all'ora potrai fare l'import
  • Re: Creare e importare una libreria

    Hehehe... mi sa che non ho preparato nessuna libreria e che stia trascurando passaggi importanti... mi sa tanto che ho sparato qualche cazz@ta...

    Ti spiego cosa ho fatto:

    Ho creato un package e dentro ci ho messo due classi, nella prima ci sono i metodi e nella seconda (che estende la prima) c'è il main con qualche esempio d'uso di questi metodi.
    Per "creare la libreria", ma dalle tue parole ho timore di trascurare qualcosa, ho cancellato la seconda classe e ho fatto l'export del .jar.
    Per provare il .jar ho creato un altro progetto con un altro package e ho copiato la classe che ho cancellato nel progetto precedente (quello che ho usato per "creare la libreria") ma mi segna i metodi come errati con l'avviso che ho indicato nel messaggio precedente.
  • Re: Creare e importare una libreria

    Hai aggiunto il jar al build path se usi eclipse o al classpath se sei da console?
  • Re: Creare e importare una libreria

    Certamente, eseguo questa procedura (sono da console):

    Tasto destro/proprietà/java Build Path/Add JARs...

    e seleziono il .jar che risiede in una cartella del progetto...

  • Re: Creare e importare una libreria

    Se puoi allega il codice, così si vede meglio
  • Re: Creare e importare una libreria

    Il codice non posso, sono un'infinità di metodi ma ti posso ricreare un esempio simile se vuoi.

    Ho un progetto di nome "Somma", un package di nome "somma" e due classi in 2 file divisi di questo tipo:

    Somma.java
    package somma;
    
    public class Somma {
    
    	public static int somma(int a, int b) {
    		int s = a + b;
    		return s;
    
    	}
    
    }
    Main.java
    package somma;
    public class Main extends Somma {
    
    	public static void main(String[] args) {
    		int a = 1;
    		int b = 2;
    		int s = somma(a, b);
    		System.out.println(s);
    
    	}
    
    }
    Vorrei ottenere somma.jar in maniera tale che quando lo importo in un nuovo progetto di lavoro (con la procedura del post precedente) e scrivo:
    package esempio_secondo;
    public class MainSecondoProgetto {
    
    	public static void main(String[] args) {
    		int a = 1;
    		int b = 2;
    		int s = somma(a, b);
    		System.out.println(s);
    
    	}
    
    }
    non debba aggiungere al nuovo progetto la classe Somma.
    Per creare la libreria uso Export/JAR file oppure Export/Runnable JAR file
    Non so più come spiegarmi, se non mi segui non so più cosa dirti...
  • Re: Creare e importare una libreria

    Beh nel secondo main utilizzi il metodo somma e giustamente il compilatore non sa da dove proviene. Se utilizzi "Somma.somma(...)" dovrebbe funzionare. Ovviamente inserendo l'import relativo alla classe Somma.
  • Re: Creare e importare una libreria

    Se intendi in questo modo non funziona? E' giusto il modo con cui importo/estraggo la libreria?
    package esempio_secondo;
    public class MainSecondoProgetto {
       public static void main(String[] args) {
          int a = 1;
          int b = 2;
          int s = Somma.somma(a, b);
          System.out.println(s);
       }
    }
    Sono 2 giorni che sono arenato su questa belinata... Non potreste spiegarmi come fate voi così io faccio uguale?

    Grazie
  • Re: Creare e importare una libreria

    Il codice che hai messo tu dovrebbe essere giusto. Manca solo un "import somma.*" ma il resto dovrebbe andar bene!
  • Re: Creare e importare una libreria

    Perfetto, problema risolto!
    Grazie mille


    Se volessi poter scrivere:
    package esempio_secondo;
    import somma.*;
    public class MainSecondoProgetto {
       public static void main(String[] args) {
          int a = 1;
          int b = 2;
          int s = somma(a, b);
          System.out.println(s);
       }
    }
    come dovrei riscrivere il codice usato in precedenza per ottenere il .jar?
  • Re: Creare e importare una libreria

    Per fare in quel modo puoi:
    • implementare il metodo somma direttamente nella classe nuova (ma a questo punto non ha senso la libreria)
    • fare in modo che la nuova classe estenda quella della libreria. Ma questo pur essendo possibile a livello pratico, bisogna vedere se ha senso!
  • Re: Creare e importare una libreria

    Allora lascio così, grazie mille
Devi accedere o registrarti per scrivere nel forum
12 risposte