Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2005
    Messaggi
    2,125

    Javac non compila

    ciao a tutti. Non capisco come mai il programma javac non compila il mio programmino ( stupidissimo programma che stampa una scritta)

    N.B. sono andato nella cartella contenente javac che da me e'
    C:\j2sdk1.4.2_04 e ho scritto javac Main.java

    il mio programma e' questo

    package prova;


    public class Main {


    public Main() {
    }

    public static void main(String[] args) {
    System.out.print("ciao");
    }

    }


    ma quello che viene fuori e' error: cannot read Main.java

    Anche se non dipende dalle var d'ambiente (credo) perche sono esattamente nel percorso dove c'e' javac....ho cmq settato le var d'ambiente

    la var JAVA_HOME settata cosi c:\j2sdk1.4.2_04\bin

    mentre sotto nelle variabili di sistema ho messo il path cosi
    %SystemRoot%\system32;%SystemRoot%;%SystemRoot%\Sy stem32\Wbem;C:\j2sdk1.4.2_04\bin

    Vorrei lasciarvi lo screen ma 25 k e' troppo poco non ce la faccio
    Cerco quindi di scrivere il tutto a mano

    Perche non compila ??? aiuto pls.
    Piccola nota...da netbeans compila e runna. e tutto va....

    Ecco cosa ottengo
    DA console
    C:\j2sdk1.4.2_04\bin> dir
    ottengo javac.exe e java.exe ecc ecc ecc

    scirvo a console
    C:\j2sdk1.4.2_04\bin>javac Main.java

    e ottengo
    error: cannot read Main.java

    aiuto plsssss
    ciao

  2. #2
    Devi rispettare il package che dichiari nel codice,mettiti all'indirizzo dove c'è quindi la cartella prova non dove ci sono javac e java che tanto hai settato le variabili d'ambiente quindi ti va lo stesso!!

    Ciao.
    Si può vincere o perdere, l'importante è vincere o perdere da uomini...

    Neverland - Il mio Forum

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    hai una dichiarazione di package che devi rispettare in compilazione.

    Metti caso che tu abbia la cartella (package) prova nella cartella bin (quella con gli eseguibili): allora per compilare devi

    X:\Java\bin>javac prova/Main.java

    e per eseguire

    X:\Java\bin>java prova/Main
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2005
    Messaggi
    2,125
    ok raga....ora compilo....
    (deduco che se non scrive niente abbia compilato...o deve dirmi ok? non credo)

    ora pero' non fa run

    sono qui con la console

    c:\Java Application\Prova\src\prova> dir
    ottengo
    Prova.class
    Prova.java

    io scrivo java percorso esatto\file.java ma viene il classico
    Exception in thread "main" java.lang.NoClassDefFoundError: Prova\java

    La mia classe prova e' cosi:

    package prova;
    public class Prova {

    /** Creates a new instance of Main */
    public Prova() {
    }


    public static void main(String[] args) {
    System.out.print("ciao");
    }

    }

    cosa puo' essere?
    var d'ambiente? booooh

  5. #5
    Si quando compila correttamente non esce nessuna scritta!

    Quando devi lanciare il programma dopo averlo compilato devi scrivere il nome della classe senza estensione

    codice:
    java NomeClasse
    l'estensione serve solo per compilare

    codice:
    javac NomeClasse.java
    Ciao.
    Si può vincere o perdere, l'importante è vincere o perdere da uomini...

    Neverland - Il mio Forum

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2005
    Messaggi
    2,125
    niente da fare ...mi da lo stesso errore

    dice anche (wrong name : prova/Prova

    non capisco...i percorsi sono giusti....

    guarda l'immagine che allego


    aiuto ....che stress...
    Immagini allegate Immagini allegate

  7. #7
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    ammesso e non concesso che l'interprete (java.exe) sia raggiungibile da qualunque percorso (ossia è settato nel PATH), se la tua applicazione è quella che hai scritto, ossia con
    codice:
    package prova;
    devi metterti al di sopra (fuori) dal package prova, quindi in

    codice:
    C:\Java Application\Prova\src>
    e da lì chiamare java prova/Prova

    codice:
    C:\Java Application\Prova\src>java prova/Prova
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  8. #8
    E' vero anche perchè altrimenti lui cerca la cartella prova partendo dall'indirizzo dove se in quel momento...

    Ciao.
    Si può vincere o perdere, l'importante è vincere o perdere da uomini...

    Neverland - Il mio Forum

  9. #9
    Utente di HTML.it
    Registrato dal
    Jun 2005
    Messaggi
    2,125
    ragazzi siete stati gentilissimi e velocissimi nel rispondere.
    Ringrazio tantissimo e chiudo questo post (l'ennesimo su questi errori...ma noi nabbi ci sentiamo al sicuro con il nostro piccolo post dedicato)

    Graaaaaaazi grazie grazie e alla prox
    ciao

  10. #10
    Prego.
    Si può vincere o perdere, l'importante è vincere o perdere da uomini...

    Neverland - Il mio Forum

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.