Come creare una propria libreria

Ci sto lavorando

 

 

Documentazione:

Oracle - Using JAR Files: The Basics
Netbeans.org - Packaging and Deploying Desktop Java Applications

 

Per creare una propria libreria bisogna procedere così:

Creare un nuovo progetto

 

Con delle classi, in questo caso abbiamo creato Mol.java, Sot.java e Sum.java.

 

Ecco i sorgenti

Mol,java

 1 package myclas;
 2 
 3 public class Mol {
 4     private int aa;
 5     private int bb;
 6     
 7     public Mol(int a, int b){
 8         aa=a;
 9         bb=b;
10     }
11     public void mol(){
12         int r = aa*bb;
13         System.out.println("La moltiplicazione è: "+r);
14     }
15 }

 

Sot.java

 1 package myclas;
 2 
 3 public class Sot {
 4     private int aa;
 5     private int bb;
 6     
 7     public Sot(int a, int b){
 8         aa=a;
 9         bb=b;
10     }
11     public void sot(){
12         int r = aa-bb;
13         System.out.println("La sottrazione è: "+r);
14     }
15 }
        

 

Sum.java

 1 package myclas;
 2 
 3 public class Sum {
 4     private int aa;
 5     private int bb;
 6     
 7     public Sum(int a, int b){
 8         aa=a;
 9         bb=b;
10     }
11     public void sum(){
12         int r = aa+bb;
13         System.out.println("La somma è: "+r);
14     }
15 }       

 

Sono tre classi molto semplici che eseguono tre operazioni aritmetiche.

 

Punto 1

Ora dobbiamo creare un file .jar. cliccando con il pulsante destro del mouse su " Source Package" ed entrare in Properties:

 

 

Si apre il seguente dialog box:

 

Cliccare su Packaging. Spuntare Compress JAR File, Buil JAR after Compiling, Copy Dependent Libraries nel caso si vogliano incorporare tutte le librerie importate nel progetto, non è il nostro caso.

 

Compress JAR File se si attiva il file jar sarà compresso quindi più leggero ma ci metterà più tempo poi per decompattarsi. Visto che oggi problemi di capienza dei supporti non cene sono, ci sono pendrive che arrivano a 64 GBy è preferibile non comprimere per una maggiore velocità di esecuzione.

Build JAR after Compiling - molto importante attivarla in quanto permetterà di effettuare delle modifiche alle classi e nel momento che le andremo a ricompilare il file jar verrà automaticamente ricreato quindi aggiornato

Copi Dependent Libreries - si può lasciare comunque se ci sono librerie dipendenti le includerà se non ci sono no.

Si compila con e dopo si può osservare nella direttoty dist il file MyClas.jar.

 

Punto2

Ora creeremo un nuovo pregetto per utilizzare la nostra libreria ed andremo ad aggiungerla al progetto di prova cliccando con il pulsante destro del mouse su Libreries poi Add JAR/Folder:

 

 

Si aprirà il seguente dialog box:

Andremo alla ricerca del nostro file.jar che troveremo:

Nel mio computer lo trovo in: D:\Archivio\Netbeens\Grafica\Package\MyClas\...

 

 

Dentro la direttory dist troveremo MyClas.jar

Bene ora il pregetto ha la nostra libreria a disposizione

Passiamo ora ad utilizzarla, importiamo la libreria con import myclas.*;

istanziamo un oggetto s della classe Sum ed usiamo il suo metodo sum();

 

 3 import myclas.*;
 4 
 5 public class TestMyClas {   
 6     public static void main(String[] args) {
 7        Sum s = new Sum(10,15);
 8        s.sum();
 9     }   
10 }   

 

Il risultato sarà:

 

Ogni qualvolta si voglia modificare qualche classe od aggiungerne delle altre basterà riaprire il progetto MyClas ed eseguire le modifiche per poi ricreare di nuovo il file.jar.

Ad esempio riapriamo il progetto MyClas e modifichiamo la classe Sum così:

 

   1 package myclas;
 2 
 3 public class Sum {
 4     static private int aa;
 5     static private int bb;
 6     
 7     public Sum(int a, int b){
 8         aa=a;
 9         bb=b;
10     }
11     public void sum(){
12         int r = aa+bb;
13         System.out.println("La somma è: "+r);
14     }
15     static public void su(int a, int b){
16         int r = a+b;
17         System.out.println("La somma è: "+r);
18     }
19 }

 

Rieseguire da Punto1 a Punto2. Attenzione conviene prima eliminare la vecchia direttori dist, sembra che i file non vengano sovrascritti, in altre parore la ricreiamo da zero.

 

Per creare librerie un po più complesse con direttory e sottodirettory come quelle ufficiali rielaboriamo il nostro progetto:

 

 

Una volta creato il flie Jar sull'hardisk avremo questa struttura:

 

ProvaLib

     META-INF

     mielib

           mate

                 numeri

                         Irrazionali.class

                         Primi.class

                 Sot.class

                 Sum.class

           Case.class

           Cose.class

                 

 Alla creazione del nuovo progetto ProvaLib avremo una struttura così:

    

Rinominate il package in mielib e la classe proposta in Case.java

Poi pulsante destro su Source Packages - new/java package/ e digitate: mielib.mate

otterrete:

Pulsante destro del mouse su mielib.mate new/java class/ e digitate: Sum

Poi pulsante destro su Source Packages - new/java package/ e digitate: mielib.mate.numeri

Completate l'aggiunta delle classi rimanenti e poi procedete alla creazione del file jar come descritto sopra.

Naturalmente potrete creare le vostre classi in progetti separati poi fare un copia e incolla. Attenzione prima dovete copiare il package radice nel nostro esempio mielib poi i sotto-package non viceversa.