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.
|