Torna indietro   Hardware Upgrade Forum > Software > Programmazione

OVHcloud Summit 2025: le novità del cloud europeo tra sovranità, IA e quantum
OVHcloud Summit 2025: le novità del cloud europeo tra sovranità, IA e quantum
Abbiamo partecipato all'OVHcloud Summit 2025, conferenza annuale in cui l'azienda francese presenta le sue ultime novità. Abbiamo parlato di cloud pubblico e privato, d'intelligenza artificiale, di computer quantistici e di sovranità. Che forse, però, dovremmo chiamare solo "sicurezza"
Un mostro da MSI: QD-OLED WQHD a 500 Hz con AI Care e DisplayPort 2.1a
Un mostro da MSI: QD-OLED WQHD a 500 Hz con AI Care e DisplayPort 2.1a
Abbiamo potuto mettere le mani in anteprima sul nuovo monitor MSI dedicato ai giocatori: un mostro che adotta un pannello QD-OLED da 26,5 pollici con risoluzione 2560 x 1440 pixel, frequenza di aggiornamento fino a 500 Hz e tempo di risposta di 0,03 ms GtG
DJI Neo 2 in prova: il drone da 160 grammi guadagna il gimbal e molto altro
DJI Neo 2 in prova: il drone da 160 grammi guadagna il gimbal e molto altro
DJI aggiorna la sua linea di droni ultraleggeri con Neo 2, un quadricottero da 160 grammi che mantiene la compattezza del predecessore ma introduce una stabilizzazione meccanica a due assi, sensori omnidirezionali e un sistema LiDAR
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 12-08-2006, 11:44   #1
NeoNum6
Senior Member
 
Iscritto dal: Feb 2004
Città: BhO
Messaggi: 3701
[java]aiuto creazione 'eseguibile'

ho fatto un programmino in java per scopi open source...mi trovo con molti file .class che per me ha compilato eclipse... ora, volendo far partire l'eseguibile mi dà una serie di errori che io non capisco...inoltre mi piacerebbe creare il file .jar per un più facile controllo del programmino...
ecco a voi i
sorgenti
premetto che so che per compilare ci vuole una javac file.java e per eseguire ci vuole un java file.class ...

grazie a tutti per il vostro aiuto...scusate per la domanda niubba ma non è colpa mia se all'università ti insegnano a programmare e non a fare uno stupido file 'eseguibile'.
__________________
Linux User 414915 linux counter
Ho concluso con yorick, gor, djgusmy85, sulphur, Rospaccio, Leland Gaunt, paciuli
NeoNum6 è offline   Rispondi citando il messaggio o parte di esso
Old 12-08-2006, 12:21   #2
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da NeoNum6
ho fatto un programmino in java per scopi open source...mi trovo con molti file .class che per me ha compilato eclipse... ora, volendo far partire l'eseguibile mi dà una serie di errori che io non capisco...inoltre mi piacerebbe creare il file .jar per un più facile controllo del programmino...
ecco a voi i
sorgenti
premetto che so che per compilare ci vuole una javac file.java e per eseguire ci vuole un java file.class ...
Ho visionato i tuoi sorgenti. Ecco cosa ho fatto per creare un file .jar. Ti spiego passo passo i vari procedimenti.

Ho visto innanzitutto che la classe ArchiviaException non viene usata, quindi ho ignorato questo file.

Ho visto inoltre che nei tuoi sorgenti utilizzi un package denominato "michele".

Per prima cosa ho creato una nuova directory, chiamiamola "Progetto". In questa directory ho creato una nuova directory chiamata "michele" e in quest'ultima ho messo i sorgenti .java.
Questa directory "michele" è assolutamente necessaria, perché la struttura dei package si deve "riflettere" nella struttura delle directory.

Restando poi nella directory "Progetto" ho fatto le seguenti cose:

javac michele\Main.java

e ho così creato tutti i file .class.

Poi ho creato un file denominato "MANIFEST" (in realtà si può chiamare come vuoi) con dentro solamente la seguente riga:

Main-Class: michele.Main

Poi ho lanciato:

jar cvmf MANIFEST michele.jar michele\*.class

A questo punto ho ottenuto il file jar.

Per lanciare l'applicazione basta fare:

java -jar michele.jar
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 14-08-2006, 10:38   #3
NeoNum6
Senior Member
 
Iscritto dal: Feb 2004
Città: BhO
Messaggi: 3701
grazie mielle ...
ho ancora una domanda...come mai javac non mi viene riconosciuto da 'cmd' come comando??? eppure ho installato eclipse quindi la JRE è già installata....cosa devo installare per fare in modo da poter utilizzare javac???
__________________
Linux User 414915 linux counter
Ho concluso con yorick, gor, djgusmy85, sulphur, Rospaccio, Leland Gaunt, paciuli
NeoNum6 è offline   Rispondi citando il messaggio o parte di esso
Old 14-08-2006, 10:45   #4
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da NeoNum6
grazie mielle ...
ho ancora una domanda...come mai javac non mi viene riconosciuto da 'cmd' come comando??? eppure ho installato eclipse quindi la JRE è già installata....cosa devo installare per fare in modo da poter utilizzare javac???
Ma hai installato JRE oppure JDK???
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 14-08-2006, 10:59   #5
loris_p
Senior Member
 
L'Avatar di loris_p
 
Iscritto dal: Aug 2006
Messaggi: 365
JRE->Java Runtime Environment
JDK->Java Development Kit
loris_p è offline   Rispondi citando il messaggio o parte di esso
Old 14-08-2006, 19:29   #6
ally
Bannato
 
L'Avatar di ally
 
Iscritto dal: Jan 2003
Città:
Messaggi: 4421
Quote:
Originariamente inviato da NeoNum6
grazie mielle ...
ho ancora una domanda...come mai javac non mi viene riconosciuto da 'cmd' come comando??? eppure ho installato eclipse quindi la JRE è già installata....cosa devo installare per fare in modo da poter utilizzare javac???

...devi impostare il classpath nelle variabili d'ambiente del sistema operativo...

...ciao...
ally è offline   Rispondi citando il messaggio o parte di esso
Old 29-11-2006, 10:36   #7
luxorl
Senior Member
 
L'Avatar di luxorl
 
Iscritto dal: Oct 2003
Città: Pisa/Cosenza
Messaggi: 1364
Quote:
Originariamente inviato da andbin
Ho visionato i tuoi sorgenti. Ecco cosa ho fatto per creare un file .jar. Ti spiego passo passo i vari procedimenti.

Ho visto innanzitutto che la classe ArchiviaException non viene usata, quindi ho ignorato questo file.

Ho visto inoltre che nei tuoi sorgenti utilizzi un package denominato "michele".

Per prima cosa ho creato una nuova directory, chiamiamola "Progetto". In questa directory ho creato una nuova directory chiamata "michele" e in quest'ultima ho messo i sorgenti .java.
Questa directory "michele" è assolutamente necessaria, perché la struttura dei package si deve "riflettere" nella struttura delle directory.

Restando poi nella directory "Progetto" ho fatto le seguenti cose:

javac michele\Main.java

e ho così creato tutti i file .class.

Poi ho creato un file denominato "MANIFEST" (in realtà si può chiamare come vuoi) con dentro solamente la seguente riga:

Main-Class: michele.Main

Poi ho lanciato:

jar cvmf MANIFEST michele.jar michele\*.class

A questo punto ho ottenuto il file jar.

Per lanciare l'applicazione basta fare:

java -jar michele.jar

Ciao, come cambia la procedura se io ho due package: "grafica" e "struttura" in una cartella di progetto chiamata "casino"... in queste due cartelle ho tutti i file .class ...però l'applicazione usa anche dei suoni e delle immagini che stanno in sopra cartelle di "casino"... praticamente è l'organizzazione dei file di Borland JBuilder... come faccio a creare un jar con tutto quello che serve dentro, in modo che l'applicazione si avvia con doppio click sul jar?
Ho provato tanto per tentare:

Codice:
C:\Documents and Settings\Lux\Desktop\Casinò\src\casino>jar cvmf manifest grafic
a.jar grafica\*.class struttura\*.class
aggiunto manifesto
aggiunta in corso di: grafica/FinestraRoulette$Exit.class (in = 1034) (out = 529
) (compresso 48%)
aggiunta in corso di: grafica/FinestraRoulette.class (in = 317) (out = 221) (com
presso 30%)
aggiunta in corso di: grafica/FinestraSlot.class (in = 197) (out = 156) (compres
so 20%)
aggiunta in corso di: grafica/PannelloFinestraSlot$Exit.class (in = 1284) (out =
 572) (compresso 55%)
aggiunta in corso di: grafica/PannelloFinestraSlot$Go.class (in = 1335) (out = 5
71) (compresso 57%)
aggiunta in corso di: grafica/PannelloFinestraSlot.class (in = 995) (out = 558)
(compresso 43%)
aggiunta in corso di: grafica/PannelloImmagineGiocatore.class (in = 1007) (out =
 514) (compresso 48%)
aggiunta in corso di: grafica/PannelloImmagineRoulette.class (in = 969) (out = 5
06) (compresso 47%)
aggiunta in corso di: grafica/PannelloImmagineSlot.class (in = 961) (out = 505)
(compresso 47%)
aggiunta in corso di: grafica/PannelloStart$PlayRoulette.class (in = 1049) (out
= 511) (compresso 51%)
aggiunta in corso di: grafica/PannelloStart$PlaySlot.class (in = 1037) (out = 50
8) (compresso 51%)
aggiunta in corso di: grafica/PannelloStart.class (in = 1111) (out = 612) (compr
esso 44%)
aggiunta in corso di: grafica/SimboloUnoSlot.class (in = 1118) (out = 539) (comp
resso 51%)
aggiunta in corso di: grafica/Start$OkAction.class (in = 1096) (out = 502) (comp
resso 54%)
aggiunta in corso di: grafica/Start.class (in = 1186) (out = 580) (compresso 51%
)
aggiunta in corso di: struttura/Gestore.class (in = 384) (out = 278) (compresso
27%)
aggiunta in corso di: struttura/Giocatore.class (in = 1190) (out = 531) (compres
so 55%)
aggiunta in corso di: struttura/SlotMachine.class (in = 1219) (out = 608) (compr
esso 50%)
Ma poi, vabè che non ho incluso immagini e suoni, però se provo a fare doppio click mi dice: Could not find the main class. Program will exit

Invece il main sta proprio in Star.java:

Codice:
public class Start extends JFrame{
    protected Giocatore g;

    private PannelloStart p;

...cut....


//GESTIONE DELL'EVENTO SUL PULSANTE OK DI DIALOG
    private class OkAction implements ActionListener{
        public void actionPerformed(ActionEvent event){
            nomeGiocatore=textName.getText();
            g=new Giocatore(nomeGiocatore,0,1000,0);
            dialog.setVisible(false);

        }
    }

    public static void main(String args[]){
        new Start();

    }


}
Aiutatemi voi per favore
__________________
luxorl è offline   Rispondi citando il messaggio o parte di esso
Old 29-11-2006, 10:52   #8
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da luxorl
Aiutatemi voi per favore
Innanzitutto il nome della classe che contiene il main() deve essere correttamente specificato nel Manifest. Cioè l'entry nel Manifest deve essere:

Main-Class: nomepackage.nomeclasse

Poi per quanto riguarda il posizionamento e caricamento delle immagini (e risorse in generale), leggi bene <qui>.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 29-11-2006, 11:07   #9
luxorl
Senior Member
 
L'Avatar di luxorl
 
Iscritto dal: Oct 2003
Città: Pisa/Cosenza
Messaggi: 1364
Il mio manifest si trova in "casino" (cartella principale che contiene "grafica" e "struttura") e dentro ho scritto solo e esattamente:

Main-Class: grafica.Start

Ora leggo il link che mi hai passato
__________________
luxorl è offline   Rispondi citando il messaggio o parte di esso
Old 29-11-2006, 11:31   #10
luxorl
Senior Member
 
L'Avatar di luxorl
 
Iscritto dal: Oct 2003
Città: Pisa/Cosenza
Messaggi: 1364
Perchè il mio manifest non funziona?
Dentro il jar creato ho 3 cartelle:
grafica: con tutte le classi
struttura: con tutte le classi
META-INF: che contiente un MANIFEST.MF ...però se apro questo file dentro ci trovo solo:

Manifest-Version: 1.0
Created-By: 1.5.0_06 (Sun Microsystems Inc.)

e nessun riferimento alla classe main... è normale?
__________________
luxorl è offline   Rispondi citando il messaggio o parte di esso
Old 29-11-2006, 11:52   #11
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da luxorl
e nessun riferimento alla classe main... è normale?
No, così non è corretto (ed è strano).

Comunque nella tua prova di prima:
Codice:
C:\Documents and Settings\Lux\Desktop\Casinò\src\casino>jar cvmf manifest grafica.jar grafica\*.class struttura\*.class
aggiunto manifesto
aggiunta in corso di: grafica/FinestraRoulette$Exit.class (in = 1034) (out = 529
) (compresso 48%)
...
Il manifest in effetti l'hai aggiunto. Quindi non saprei perché nel JAR il manifest non è ok. Cancella il jar e riprova.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 29-11-2006, 15:37   #12
luxorl
Senior Member
 
L'Avatar di luxorl
 
Iscritto dal: Oct 2003
Città: Pisa/Cosenza
Messaggi: 1364
Sono andato a modificare a mano il manifest dentro il jar.. ho aggiunto la riga Main-Class ecc.

Ora mi succede una cosa strana... se lo lancio con doppio clic.. solito messaggio che non trova la main class.. se invece lo lancio da console con java -jar casino.jar parte! dove sta il problema?
__________________
luxorl è offline   Rispondi citando il messaggio o parte di esso
Old 29-11-2006, 15:51   #13
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da luxorl
Sono andato a modificare a mano il manifest dentro il jar.. ho aggiunto la riga Main-Class ecc.

Ora mi succede una cosa strana... se lo lancio con doppio clic.. solito messaggio che non trova la main class.. se invece lo lancio da console con java -jar casino.jar parte! dove sta il problema?
Anche questo è strano. Ma non ti so dire di più.
Io per progetti non proprio banali non uso i tools "a mano" ma utilizzo Ant, che è molto comodo e pratico.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 29-11-2006, 16:19   #14
luxorl
Senior Member
 
L'Avatar di luxorl
 
Iscritto dal: Oct 2003
Città: Pisa/Cosenza
Messaggi: 1364
http://www.hostfiles.org/download.php?id=299D3271

Fatemi un test se da voi va!
Scaricate il file rar da qui sopra, apritelo e avviate casino.jar sia con doppio clic che da console con java -jar casino.jar.
Ditemi se vi parte in entrambi i modi, o solo da console o non vi parte proprio!
Poi visto che ci siete provate a giocare un po' e darmi le vostre impressioni!
__________________
luxorl è offline   Rispondi citando il messaggio o parte di esso
Old 29-11-2006, 17:32   #15
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da luxorl
Fatemi un test se da voi va!
A me va sia facendo doppio-click che lanciandolo a mano con java -jar ...
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 29-11-2006, 17:39   #16
luxorl
Senior Member
 
L'Avatar di luxorl
 
Iscritto dal: Oct 2003
Città: Pisa/Cosenza
Messaggi: 1364
Va tutto con suoni e immagini? hai provato a giocare? si vede tutto ok?
Io con doppio clic lo ho abbinato a:

programmi ---> java ---> jdk1.5.0_06 ---> bin ---> javaw.exe

giusto?
__________________
luxorl è offline   Rispondi citando il messaggio o parte di esso
Old 29-11-2006, 17:53   #17
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da luxorl
Va tutto con suoni e immagini? hai provato a giocare? si vede tutto ok?
Sì tutto a posto, salvo il fatto della questione delle immagini (vedi l'altro tuo 3d). Nel primo zip che ho scaricato infatti le immagini stanno in una directory 'immagini' che è allo stesso livello del jar e quindi funziona. Ma se hai solo il jar ... nada.

Quote:
Originariamente inviato da luxorl
Io con doppio clic lo ho abbinato a:

programmi ---> java ---> jdk1.5.0_06 ---> bin ---> javaw.exe

giusto?
Nel mio registro di Windows, l'associazione è:

"C:\Programmi\Java\jre1.5.0_09\bin\javaw.exe" -jar "%1" %*

(vedi sotto la chiave HKEY_CLASSES_ROOT\jarfile)
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 29-11-2006, 18:03   #18
luxorl
Senior Member
 
L'Avatar di luxorl
 
Iscritto dal: Oct 2003
Città: Pisa/Cosenza
Messaggi: 1364
Ho la stessa identica associazione.. ma non va!
__________________
luxorl è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


OVHcloud Summit 2025: le novità del cloud europeo tra sovranità, IA e quantum OVHcloud Summit 2025: le novità del cloud...
Un mostro da MSI: QD-OLED WQHD a 500 Hz con AI Care e DisplayPort 2.1a Un mostro da MSI: QD-OLED WQHD a 500 Hz con AI C...
DJI Neo 2 in prova: il drone da 160 grammi guadagna il gimbal e molto altro DJI Neo 2 in prova: il drone da 160 grammi guada...
L'IA "seria" di Appian è diversa: inserita nei processi e rispetta dati e persone L'IA "seria" di Appian è divers...
Polestar 3 Performance, test drive: comodità e potenza possono convivere Polestar 3 Performance, test drive: comodit&agra...
Star Citizen supera i 900 milioni di dol...
Netflix ha eliminato la funzione Cast pe...
L'IA è una bolla e scoppier&agrav...
Un rapporto collega i data center di Ama...
Troppa concorrenza per Cherry (quella de...
Entro il 2035 la Cina vuole costruire de...
Tineco in super sconto: ultimo giorno di...
La Cina creerà una costellazione ...
I veicoli elettrici emettono radiazioni ...
Stai per acquistare una PS5? Attento al ...
iPhone 17 Pro Max finalmente disponibile...
Apple, Sony, Bose, Beats, Sennheiser, CM...
Arriva il Raspberry Pi 5 da 1 GB, ma por...
Draghi scuote l'Europa: 'rischio stagnaz...
NVIDIA ha comprato azioni Synopsys per 2...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 19:56.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v