Newsgroup: it.comp.java
Titolo: Che faccio adesso col JDK?

Mi ha dato il seguente messaggio:
C:\jdk1.3.1\bin\javac progra~1.jav (digitato da me)
javac: invalid argument: progra.jav
Usage: javac <option> >source files>
where possible options include:
-g                                Generate all debuggin info
-g:none                        Generate no debuggin info
-g:{lines,vars,source}   Generate; only some debuggin info
-0                                Optimize; may hider debuggin or enlarge
class file
-nowarn                       Generate no warnings
-verbose                      Output messages about what the compiler is
doining
-deprecation                Output source locations where deprecated APIs
are used
-classpath <path>        Specify where to find user class files
ecc......
Il programmino di esempio che ho fatto è:
import java.io.*;
class Program1 {
 public static void main (String [] arg) {
  System.out.println ("Michele Salerno");
  // Questo è il mio nome
   }
}
ovviamente ha estensione JAVA.
Per cambiarlo in CLASS?
Dai che vi ricorderà quando avete iniziato voi...no? :-)))
Grazie...
Michele

 C:\jdk1.3.1\bin\javac progra~1.jav (digitato da me)
                                               ^      ^
                                               ^      ^
                                               ^      Perchè non .java?
                                             Perchè non program1?
Javac vuole files .java da compilare.
Per evitarti i prossimi classici errori (sai, ci sono passato anch'io...)
controlla che il classpath (visibile con echo %CLASSPATH% su win) contenga
il percorso di C:\jdk1.3.1\lib\dt.jar, quello directory attuale indicata con
.(punto) e quello alla directory contenente il Program.class prodotto che
poi eseguirai.
Ciao,
Oliviero.

javac: invalid argument: progra.jav
Per compilare una Class (ad esempio il file NomeClasse.java):
    c:\>  javac NomeClasse.java
Attenzione a rispettare MAIUSCOLE e minuscole...
Per eseguire una Class gią compilata (ad esempio il file
NomeClasse.class ottenuto poco sopra):
    c:\>  java NomeClasse
Attenzione in questo caso NON utilizzare l'estensione.
Perchč tutto ciņ funzioni, devi essere posizionato nella directory
dove hai salvato la Class, ed avere aggiunto al PATH la directory dove
ci sono javac.exe e java.exe (nel tuo caso probabilmente
c:\jdk1.3.1\bin)
Se leggessi le FAQ e la documentazione probabilmente non avresti posto
questa domanda, pensaci...
Ciao,
Maurizio
La forza di gravitą č un falso mito, la Terra succhia!

 Il programmino di esempio che ho fatto č:



Per il 1° il DOS  prende le estensioni solo a 3 caratteri, quindi *.jav
Per il secondo ho corretto....
Ma facendo la prova dalla cartella dove si trova il compilatore:
    C:\.......\javac program~1.jav
continua ad uscirmi sempre lo stesso messaggio, ma dice anche che si possono
usare delle opzioni.....come si usano?
Grazie...
Michele

usare delle opzioni.....come si usano?
Le opzioni non risolvono il tuo problema: IMHO ti consiglio di
occupartene in un secondo tempo.
-- 
Ciao
	Fabrizio C.

    public static void main (String args[]) {
Funziona ugualmente e mi sembra piů una questione di preferenze
stilistiche. Se si vuole proprio trovare una forma ufficiale, la mia
preferita č quella che viene usata negli esempi del Tutorial Sun:
public static void main(String[] args) {}
-- 
Ciao
	Fabrizio C.

 occupartene in un secondo tempo.
Ma anche provando a fare "javac proram2.JAVA" non mi cambia nulla....sempre
le opzioni...e come devo fare?
Non è che per caso ci sono errori?
Ecco il piccolo file-mostriciattolo:
import java.io.*;
class Program2 {
 public static void main (String args [] ) {String name PrintStream utput
name = michele salerno";
System.out.println (name);
output = System.out;
output.printsreln ("michele salerno");
}

 Grazie...
Di nulla!
Ciao
    Andrea

>Ma anche provando a fare "javac proram2.JAVA" non mi cambia nulla....sempre
javac -classpath . proram2.java
javac -classpath . *.java
http://digilander.iol.it/schiele
http://jame.sourceforge.net

 si trova il compilatore e lancialo.
Cosa si lancia cosě?
Il programmino che ho fatto io?...ma non puň confondere altri file.java?
Ciao...
Michele

 javac -classpath . *.java
Con la fortuna che mi ritrovo......non cambia nulla, immagino che non è il
mio pc ma son io! :-(
io scrivo:
c:\Programmi\JBuilder4\jdk1.3\bin>javac -classpath.Program2.JAVA
E coretto?
Se si...non mi risolve nulla! :-(
Il file si trtova nel seguente percorso:
c:\Documenti\Program2.JAVA

Ecco il piccolo file-mostriciattolo:
Sì, proprio mostriciattolo: spero tu non abbia fatto Copia&Incolla!
Continuo a invitarti a scaricare (o almeno consultare) il Tutorial
della Sun: ci trovi spiegato passo-passo (anche) come installare
l'ambiente e come scrivere, compilare ed eseguire il primo programma
Java.
Ti faccio un riassunto (ma non prenderci l'abitudine):
1) Crei un nuovo file e lo chiami HelloWorld.java
2) All'interno ci scrivi quanto segue (e SOLO questo)
public class HelloWorld {
  public static void main (String [] arg) {
    System.out.println("Michele Salerno");
  }
}
3) Salvi il file :-)
4) Dai il comando "javac HelloWorld.java" (senza virgolette!)
5) Se non ti dà altri errori (!), allora dai il comando "java
HelloWorld" (sempre senza virgolette!)
6) Ci fai sapere come è andata.
-- 
Ciao
	Fabrizio C.

 6) Ci fai sapere come è andata.
Inutile riportare tutti i punti, ho provato e mi da la setssa identica cosa,
quindi non sarà il program2.JAVA......ma io! :-((((


Si, ho dato uno sguardo al tutorial e me ne sono accorto, solo che il mio
manuale in italiano me la indicava nell'altro modo.
Grazie per la precisazione
Andrea

 Il programmino che ho fatto io?...ma non puň confondere altri file.java?
Secondo me č un problema di classpath.
Senti prova a fare cosě: metti il file Program1.java nella cartella Bin dove
si trova tra le altre cose javac.exe e java.exe
Poi vai in dos, ti posizioni nella cartella bin e scrivi:
javac Program1.java     (possibilmente scrivi proprio cosě niente .jav)
Io ho provato con un mio programma e funziona; nessuna confusione.
Facci sapere
Ciao
  Andrea



dunque, premetto che ho perso il filo della discussione e magari dico cose inutili, 
comunque...
1. apri il prompt dos ed entra nella directory c:\Documenti
2. digita il comando javac e verifica se viene trovato
se il prompt risponde con "comando non valido"
allora devi inserire nel path dei comandi la cartella
c:\Programmi\JBuilder4\jdk1.3\bin
nell'autoexec.bat aggiungi in fondo
set PATH=%PATH%;c:\Programmi\JBuilder4\jdk1.3\bin
3. compila il programma con javac -classpath . Program2.JAVA (rispetta le maiuscole)
4. avvia il programma con java -classpath . Program2
riepilogo
c:\> cd c:\Documenti
c:\Documenti> javac 
Usage:
[...]
c:\Documenti> javac -classpath . Program2.JAVA
c:\Documenti> java -classpath . Program2
funziona?
---------------------------
public class Program2 
{
	public static void main (String[] args) 
	{
		System.out.println("Hello World !");
	}
}
--------------------------
ciao_O
http://digilander.iol.it/schiele
http://jame.sourceforge.net

una piccola considerazione
non e' obbligatorio farsi del male con il prompt dos
esiste la bash per win32, la shell "di linux" per windows 
fa parte del pacchetto di programmi della cygnus
http://cygwin.com/
http://cygwin.com/setup.exe
bash + un buon text editor (io uso jext) + jdk
vanno benissimo 
(ri)ciao_O
http://digilander.iol.it/schiele
http://jame.sourceforge.net

solo, ma in questo non ci riesco! :-((
Il NG c'è apposta per aiutare, ma mi sembra che dovresti fare le cose
con più calma e seguendo alla lettera i suggerimenti...
-- 
Ciao
	Fabrizio C.

3. compila il programma con javac -classpath . Program2.JAVA (rispetta le maiuscole)
Scusa l'intromissione. Per pura curiosità: perché .JAVA maiuscolo? Da
me non funziona.
-- 
Ciao
	Fabrizio C.


http://jame.sourceforge.net
Ho scaricato il tuo Jame e devo dire che va molto bene: complimenti.
Appena ho tempo guardo un po' il codice. :-)
-- 
Ciao
	Fabrizio C.

 javac Program1.java     (possibilmente scrivi proprio cosě niente .jav)
Allora provando con il mio programma mi č uscito:
-------------------
Program2.java:3: ';' expected
        public static void main (String args []) {String name PrintStream
utput name = michele salerno";
^
Program2.java:3: unclosed string literal
        public static void main (String args []) {String name Prinstream
utput name = michele salerno";
^
Program2.java:7: '}? expect
}
  ^
Program2.java:5: cannot resolve symbol
symbol : variable output
location : class Program2
output = System.out;
^
Program2.java:6: cannot resolve symbol
symbol : variable output
location :calss Program2
output.printsreln ("michele salerno");
^
5 errors
---------------------
Il programma č:
import java.io.*;
class Program2 {
 public static void main (String args [] ) {String name PrintStream utput
name = michele salerno";
System.out.println (name);
output = System.out;
output.printsreln ("michele salerno");
}
Mentre usando:
import java.io.*;
 public class Program3
{
public static void main (String[] args)
{
System.out.println("Hello World !");
}
}
suggerito da Andrea č diventato un file Java Source (class), ma non si apre
con l'interprete...come mai?

"Fabrizio Camera" <f.camer...@NOSPAMusa.net> ha scritto nel messaggio
news:3b17aae6...@news.libero.it...

Dalla finestra sotto Win, quando è evidenziato, sulla sinistra dice "File
JAVA".....e da lì avevo pensato che era maiuscolo. Quando ho visto sotto dos
(a destra) è in minuscolo....funziona in minuscolo! .-))

 }
Se lo metto nella cartella ../jdk1.3\bin......funziona, mi diventa
CLASS....ma con l'interprete no! :-(

 
http://cygwin.com/setup.exe
Ossia? Tipo JBuilder?

"Fabrizio Camera" <f.camer...@NOSPAMusa.net> ha scritto nel messaggio
news:3b17aaec...@news.libero.it...

Scusate l'intrusione mi spiegate qwualcosina pure a me?
...però in termini terra terra...come si suol dire! :-(

 con piů calma e seguendo alla lettera i suggerimenti...
La mia cultura di Java č nelle mani della mia volontŕ, del mio manuale e
nella vostra.....se no sento voi posso sbattere la tresta quanto voglio che
risolverei ben poco. Con questo non voglio dar peso a nessuno ovviamente č a
buon cure vostro e soprattutto a grandissima pazienza vostra se volete
aiutarmi! :-)
Suppongo che sia inutile dire sempre grazie, l'ho fatto all'inizio, lo farň
alla fine che varrŕ per tutti i suggerimenti che ognuno di voi mi sta dando!
.-)
Michele

Appena ho tempo guardo un po' il codice. :-)
grazie
il codice non e' commentato (devo provvedere...)
e' quasi pronta una nuova versione basata su swing
nella quale sto cercando di migliorare alcuni aspetti
magari se sei interessato e hai tempo puoi aiutarmi... 
devi pero' sapere qualcosa piu' di me sui frattali :)))



hai mai usato un sistema tipo linux?
la bash e' qualcosa tipo il prompt dos (cio' un interprete di comandi)
ma molto piu' potente :)
http://digilander.iol.it/schiele
http://jame.sourceforge.net



no
http://digilander.iol.it/schiele
http://jame.sourceforge.net

come si aptre un file di questo tipo?
da questa tua domanda sembra che ti manchino le
conoscenze di base circa il funzionamento di windows
comunque il file autoexec.bat e' un normale file di testo 
che sta in c:\ e viene "eseguito" all'avvio del sistema
[questo discorso vale se stai usando win98 e precedenti]


 [questo discorso vale se stai usando win98 e precedenti]
Ho sempre usato il pc con programmi, quindi non mi sono mai posto il
problema di come funzionassero, è già un'impresa capire come si usano....
Adesso che mi sono buttato nella programmazione e non tiro la testa fuori
fino a quando non ne conoscerò almeno uno come si deve.
Hai ragione, mi mancano tutte le basi sotto questo punto di vista:-(
Cmq io uso Windows Me....vale anche per questo anche se hai detto 98 e
precedenti?

 ma molto piu' potente :)
:-((...è già un problema per me il prompt dos! :-((((

CLASS....ma con l'interprete no! :-(
          ^^^^^^^^^^^^^^^^^^^^^^^
Cosa vuol dire? Cosa fai e cose ti viene risposto. 
-- 
Ciao
	Fabrizio C.



JBuilder non c'entra niente!
JBuilder è un IDE (Integated Development Environment = Ambiente di
sviluppo integrato), la bash è un interprete di comandi (come il
prompt del dos ma mooolto meglio se la sai usare)
-- 
Ciao
	Fabrizio C.

risolverei ben poco.
Bene. Allora cerca di seguire non solo le istruzioni, ma anche e
soprattutto i consigli.
Cerca di prendere un po' più di dimestichezza con Windows, mi sembra
che la buona volontà non ti manchi.
Poi magari valuta qualche corso in cui tu possa avere un po' di
spiegazioni faccia a faccia.
Prima che me lo chieda tu: no, non ne conosco (poi non so di dove
sei).
-- 
Ciao
	Fabrizio C.

con l'interprete...come mai?
Cosa vuol dire? Riportaci le azioni PRECISE che hai fatto
(possibilmente in termini PRECISI).
-- 
Ciao
	Fabrizio C.

 Cosa vuol dire? Cosa fai e cose ti viene risposto.
In poche parole, ho chiamato il file program3.java inzialmente, adesso è
program3.class (cambiando anche nel suo interno "pubblic class program3").
Ho fatto C:\Programmi\JBuilder4\jdk1.3\bin\java program3.class
mi ha dato il seguente messaggio:
Exception in Thread "main" java.lang.NoClassDefFoundError: program3/class

 prompt del dos ma mooolto meglio se la sai usare)
Ok, perfetto...tra un paio d'anni ti chiederò come si usa la "bash"! :-)))

 sei).
A titolo informativo....sono di Matera in Basilicata!
Michele

 (possibilmente in termini PRECISI).
Riporto da un messaggio scritto in precedenza:
______________
In poche parole, ho chiamato il file program3.java inzialmente, adesso č
program3.class (cambiando anche nel suo interno "pubblic class program3").
Ho fatto C:\Programmi\JBuilder4\jdk1.3\bin\java program3.class
mi ha dato il seguente messaggio:
Exception in Thread "main" java.lang.NoClassDefFoundError: program3/class
______________

 4. avvia il programma con java -classpath . Program2
Ecco come ho fatto, ho aggiunto l'ultima linea:
SET windir=C:\WINDOWS
SET winbootdir=C:\WINDOWS
SET COMSPEC=C:\WINDOWS\
COMMAND.COM
SET PATH=C:\WINDOWS;C:\WINDOWS\COMMAND
SET PROMPT=$p$g
SET TEMP=C:\WINDOWS\TEMP
SET TMP=C:\WINDOWS\TEMP
PATH=%PATH%;"C:\Programmi\Mts"
set PATH=%PATH%;C:\Programmi\JBuilder4\jdk1.3\bin
Però sotto documenti java lo trova, javac no!

Exception in Thread "main" java.lang.NoClassDefFoundError: program3/class
ti prego, rileggi attentamente il messaggio che ti ho spedito ieri 
ne riporto un pezzo
c:\> cd c:\Documenti
c:\Documenti> javac 
Usage: [...]
c:\Documenti> java
Usage: [...]
c:\Documenti> javac -classpath . Program2.JAVA
c:\Documenti> java -classpath . Program2
se digitando javac e java il prompt risponde con l'elenco 
delle opzioni allora significa che SEI in grado di compilare
e di avviare i tuoi programmi dalla directory dove si 
trova il sorgente (c.\Documenti\Program2.java)
segui i passaggi sopra riportati!!!
il compilatore javac cerca i sorgenti nella directory corrente
l'interprete java cerca le classi nel classpath 
(l'opzione -classpath . aggiunge al classpath la directory corrente (indicata dal .))




mi era sfuggito questo messaggio
cerca nel tuo disco fisso javac e java
javac sta in C:\Programmi\JBuilder4\jdk1.3\bin?
se non e' li', deinstalla JBuilder e installa solo il jdk1.3
e ricomincia da capo
avvia un nuovo thread!!!!!!!!!!!!!
(per favore)
ciao_@
http://digilander.iol.it/schiele
http://jame.sourceforge.net

 trova il sorgente (c.\Documenti\Program2.java)
Io mettevo "java program3.class", mentre mettendo:
"java Program3" mi da Hello World!
Quindi l'estensioneCLASS non si mette.....potevo sbattere la testa
tantissime volte che non l'avrei mai capito! :-))))

 [questo discorso vale se stai usando win98 e precedenti]
Io ho Win Me, e dato che questo non lo pensa proprio l'autoexec,
all'apertura del prompt devo prima lanciare autoexec da C e poi posso usare
il compliatore!
Cmq grazie mille per l'istruzione, che in precedenza l'avevo messa in
AUTOEXE.BAK.....sbadatamente! :-(
Michele

devi pero' sapere qualcosa piu' di me sui frattali :)))
Dubito. Non me ne sono mai occupato e, a parte qualche lettura
personale, tutto quello che so sono i pochi accenni fatti al corso di
"Elaborazione e Trasmissione delle Immagini".
-- 
Ciao
	Fabrizio C.

ne avrei il tempo. Sorry. Perņ sarņ lieto di provarlo :-)
ok


Pascal o il C.
Aaahhh. Ci andrei cauto a definire Pascal e C linguaggi a basso
livello. L'assembler come lo classificheresti? Sottoterra? :-|
Ma soprattutto cosa intendi tu per basso/alto livello?
-- 
Ciao
	Fabrizio C.

 Ma soprattutto cosa intendi tu per basso/alto livello?
Un linguaggio di Basso Livello sarebbe un linguaggio macchina.
Mentre uno ad alto livello è quello che necessita di un interprete.
Il Java è di Alto livello, ma credo che anche C++ a differenza dal C sia ad
alto livello se non sbaglio!

scombussolare la vita a nessuno!
Mi sembra che tu non sia stato ignorato o accantonato, anzi: di solito
si danno risposte un po' più "scarne", perché si presume che si parli
"la stessa lingua".
Quanto agli altri NG, su Java mi sembra che ci sia solo quello della
gerarchia free e (con tutto il rispetto) non mi sembra paragonabile:
vedi tu.
-- 
Ciao
	Fabrizio C.

 vedi tu.
Questo senza dubbio, ma a quanto pare mi tocca spostarmi lě per un
po'....fino a quando non avrň imparato le basi! .-(
Se ti iscrivi alla ML di cui ti parlavo mi farebbe tanto piacere averti tra
noi, anche se siamo ancora in pochi....ma ha un futuro avanti a se.....come
me! .-)))
Se vuoi ti mando l'invito privatamente....
il mio indirizzo e-mail č 
michele...@libero.it
 in caso vuoi rispondermi
perché ho detto che non posterň piů qui per il momento e ci tengo a fare ciň
che dico.....
Ciao...
In bocca al lupo per tutto....
Michele



Parecchia confusione e qualche sprazzo di verità ;-)
Non so se sarei chiaro nel cercare di dare una definizione, così ne ho
cercata qualcuna già fatta (con l'utilissimo Google): nessuna di
quelle (poche) che ho guardato mi soddisfa completamente, tuttavia...
http://gpi.infomedia.it/abc/primi-passi/intro.htm
 per un esempio
divertente
http://www.dsi.unive.it/~flongo/diz/L.html
 per due sintetiche righe
-- 
Ciao
	Fabrizio C.

> C sia ad alto livello se non sbaglio!
FC> 
http://gpi.infomedia.it/abc/primi-passi/intro.htm
 per un esempio
FC> divertente
Divertente ma poco corretto.
Il  livello di  un linguaggio  indica quanto  il linguaggio  stesso si
distacca dall'architettura della macchina sottostante: a basso livello
si considera come è fatta fisicamente la macchina, ad alto livello no.
Quindi linguaggio macchina  (quello a tastierino Hex o  ottale) non si
discosta per nulla, devi  buttare dentro i codici numerici, calcolarti
la lunghezza  dei salti relativi a  manina etc. Ci vuole  gente con lo
scroto tetragono come Mel:
http://info.astrian.net/jargon/Hacker_Folklore/The_Story_of_Mel.html
I linguaggi di alto livello si appoggiano o a un interprete (LISP) o a
delle librerie di routine e servizi (Pascal e altri linguaggi compila-
ti) che offrono oggetti  manipolabili dal programma (ad esempio numeri
interi  o  con  la  virgola)  slegandosi più  o  meno  dalla  macchina
sottostante.
Java che addirittura  gira su un computer virtuale  e quindi da questo
punto di vista è un po' più ad alto livello.
Il C  (ed il  C++ è un  discorso a  parte) che si  piazza in  mezzo in
quanto  permette  sia di  astrarre  dalla  macchina  sia di  andare  a
"battere sul metallo"  ed in questo caso il  codice diventa fortemente
dipendente dalla macchina.
--
Gian Uberto| main(){printf(&unix["\021%six\012\0"],(unix)["have"]+"fun"-0x60);}
Lauri      |                        David Korn, 1987 ioccc best one liner 
(aka saint)|-------------------------------------------------------------------
em@ail: 
sa...@eng.it
 ( vedere X-nospam nello header - see X-nospam in header )


http://info.astrian.net/jargon/Hacker_Folklore/The_Story_of_Mel.html
Ne esisteranno ancora di tipi cosě?
-- 
Ciao
	Fabrizio C.

 vedi tu.
Quali? Io non ne ho trovato nessuno sotto la gerarchia free
(so cos'è una gerarchia).
--
Paolo Giarrusso



Bene, ma devi anche sapere che la gerarchia free ha funzionamento un
po' diverso: non è replicata da tutti i provider (o non lo è per
intero).
Il gruppo si chiama free.it.programmazione.java e sul server di Libero
c'è: magari puoi fare richiesta al tuo provider.
HTH
-- 
Ciao
	Fabrizio C.