Entra

View Full Version : collegamento desktop a progr. java


zanfa
21-12-2003, 20:44
ciao a tutti ho cercato di creare un collegamento sul desktop ad un programma scritto in java, ovviamente .class. ho inserito il percorso del file compilato, e arrivato alla directory che lo contiene ho digitato java nomefile, ma quando poi clicco sull'icona del collegamento non succede quello che volevo, cioè l'esecuzione del programma. Ho anche cercato di inserire il file nella cartella bin del jdk ma nulla lo stesso, ovviamente il classpath era già stato impostato bene. Chi potrebbe aiutarmi per far eseguire questo programma direttamente con un doppio click senza attivare ogni volta il prompt e cercare il file?GRAZIE

PGI
22-12-2003, 11:24
Puoi creare un file batch e poi collegare quello oppure creare un eseguibile jar (in questo caso però devi impacchettare i file dell'applicazione, se la stai ancora sviluppando è più comodo il batch).

Per impacchettare un'applicazione in un jar:

crea un file manifesto (Manifest.mf), che è un file di testo contenente al minimo le seguenti istruzioni:

Manifest-Version: 1.0
Main-Class: [nome qualificato classe senza *.class]
[linea vuota]

Assicurati che il testo termini con una linea vuota.

con jar.exe crei poi il pacchetto:

jar mcf0 Manifest.mf NomeJar.jar directoryclassi/ [invio]

Gli archivi jar sono associati a javaw, che lancia l'applicazione senza passare per la consolle: con un click (o un doppio click) l'applicazione parte.

&Ciao.

zanfa
22-12-2003, 20:10
ciao, grazie per la risposta ma è un pò troppo difficile per me che sono alle prime armi....potresti essere un pò più dettagliato?nel senso di spiegare un pò i passaggi

PGI
22-12-2003, 22:49
non c'è problema.

Diciamo che hai i file compilati in una directory

C:\applicazione

Supponiamo che la classe compilata che contiene il metodo main della tua applicazione sia

MainClass.class.

Apri un editor di testo e scrivi queste 3 linee

---da qui escluso---
Manifest-Version: 1.0
Main-Class: MainClass

---a qui escluso---

la terza linea è una linea vuota. Salva il testo in un file chiamato "Manifest.mf" in c:\applicazione.

Adesso apri il prompt dei comandi, vai alla cartella c:\applicazione
(cd c:\applicazione) e scrivi:

jar mcf Manifest.mf NuovoJar.jar *.class [invio]

nella cartella c:\applicazione adesso dovrebbe esserci un archivio jar eseguibile. Per testarlo, sempre dal prompt, scrivi:

java -jar NuovoJar.jar [invio]

oppure facci un doppio click sopra.

Se compare la scritta "Could not find main class" o qualcosa del genere c'è un intoppo.

nel caso in cui tu abbia dichiarato le classi dell'applicazione come appartenenti ad un package esplicito (con la dichiarazione "package nomepackage;") la faccenda è un pelo diversa, magari ne riparliamo.

&Ciao.

zanfa
23-12-2003, 12:29
ciao pgi, ho eseguito alla lettera quello che mi hai consigliato e funziona tutto alla perfezione.però se faccio doppio click su nuovojar.jar windows mi dice che non può aprire quel file, e mi propone di cercare un programma sul web. come potrei creare un collegamento a questo punto sul desktop di windows xp, per far partire automaticamente il programma?ti ripeto, dal prompt tutto ok,ma se scrivo il percorso del collegamento C:\progr.java\java Input, non succede nulla, si visualizza solo per una frazione di secondo il prompt(progr.java è la cartella e Input il file che vorrei collegare).
Inotre:mi spiegheresti un pò come creare un file batch?con blocco note ho scritto C:\progr.java\java Input, e poi ho salvato con estensione bat.Ho fatto bene o ho sbagliato qualcosa?ciao e ancora GRAZIE!:)

PGI
23-12-2003, 13:09
I jar eseguibili vanno "collegati" a "javaw.exe".

javaw.exe lo trovi nella cartella "c:\programmi\java\jre1.4.2\bin" (ce n'è uno anche nella cartella dell'sdk).

Il bat che hai creato va bene.

Se lanci quel file si apre la consolle dei comandi (che deve rimanere aperta) e viene eseguito il programma.

Se preferisci che la consolle si chiuda subito dopo scrivi invece:

javaw Input

zanfa
23-12-2003, 14:52
ciao pgi grazie dei consigli ma proprio non ci riesco!!il prompt va subito via quando clicco sul collegamento, nemmeno una frazione di secondo!e poi viene anche visualizzato quel messaggio di errore che mi dicevi, inerente alla main class, e continua "Program will exit"... magari continuando a studiare java nel tempo libero ci arriverò prima o poi!
a proposito, ho visto che sei di verona, io lavoro a badia polesine(RO) e mi hanno detto che VR a natale è bellissima, verrò a fare un giro con la ragazza, CIAO!:mc: