Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2015
    Messaggi
    3

    Errore: impossibile trovare o caricare la classe principale Clie

    Ragazzi aiutatemi!! Ho un problema con java.
    Pc appena formattato con Win10, installato java ed eclipse e provo a creare il mio primo programmino in java (il classico Hello World). Allora con eclipse compila ed esegue normale, i guai mi capitano quando provo a farlo in linea di comando. Lancio da terminale nella cartella bin il comando java [nomeclasse] e mi da errore!
    "Errore: impossibile trovare o caricare la classe principale".
    Sono disperato

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da Manveru Visualizza il messaggio
    Lancio da terminale nella cartella bin
    Cartella "bin" .. di cosa? Del JDK? Ti suggerisco di non mettere nulla, tantomeno tuoi sorgenti, lì sotto se hai fatto così.

    Quote Originariamente inviata da Manveru Visualizza il messaggio
    il comando java [nomeclasse] e mi da errore!
    "Errore: impossibile trovare o caricare la classe principale".
    Se non ci sono di mezzo i package:

    javac NomeTuaClasse.java

    java NomeTuaClasse

    esattamente come li ho scritti (a parte il tuo nome della classe)
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2015
    Messaggi
    3
    Nella cartella bin del mio progetto nel workspace (in dettaglio:C:\Users\miche\workspace\test\bin)
    ma da terminale non posso eseguire direttamente file gia compilati da Eclipse?

    Package test come puoi notare..
    p.s: nome classe = Prova
    Ho provato anche a compilare il file in src/test con javac, mi crea il file .class, ma se provo a lanciarlo con java Prova ... Non va!!
    Ultima modifica di Manveru; 17-11-2015 a 20:09

  4. #4
    No il package non è "test", quello è semplicemente il nome del tuo progetto.
    come ti ha detto andbin vai sotto bin e fai java Prova
    Ma sotto bin hai delle directory? se si significa che hai messo un package, altrimenti no.
    Ultima modifica di schumy2000; 18-11-2015 a 00:51
    I computer sono incredibilmente veloci, accurati e stupidi.
    Gli uomini sono incredibilmente lenti, inaccurati e intelligenti.
    Insieme sono una potenza che supera l'immaginazione.

    A.Einstein

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2015
    Messaggi
    3
    Quote Originariamente inviata da schumy2000 Visualizza il messaggio
    No il package non è "test", quello è semplicemente il nome del tuo progetto.
    come ti ha detto andbin vai sotto bin e fai java Prova
    Ma sotto bin hai delle directory? se si significa che hai messo un package, altrimenti no.
    Provo e riprovo nella cartella bin ma niente. E si sotto bin ho sottocartelle: package test nel progetto test non tanto elegante ma cosi ho messo.

  6. #6
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da Manveru Visualizza il messaggio
    Provo e riprovo nella cartella bin ma niente. E si sotto bin ho sottocartelle: package test nel progetto test non tanto elegante ma cosi ho messo.
    Continui a non riuscire, perché non hai compreso i concetti generali/basilari su package, classpath.

    Se hai una classe così definita:

    codice:
    package com.esempio;
    
    public class Prova {
        public static void main(String[] args) {
            // ......
        }
    }
    Allora il file Prova.class generato deve (e ripeto deve) stare sotto un percorso relativo com/esempio/Prova.class (ho usato '/' in senso generico, dipende poi chiaramente dal Sistema Operativo).
    La regola fondamentale: i nomi di package devono sempre "riflettersi" nella struttura delle cartelle.

    Poi dove è disposta la "com" è indifferente. Può stare ovunque sul file-system. La classe può anche stare dentro un jar con la cartella "com" alla radice del jar. Ma com/esempio/Prova.class deve stare così, che sia sfusa in cartelle/file sul file-system o che sia dentro un jar.

    Poi la cartella che contiene la "com" o il file jar devono essere "in classpath". Il classpath è semplicemente un elenco di directory/jar dove la JVM va a cercare classi (e altre eventuali risorse).

    Supponiamo che la com sia sotto C:\Prove

    C:\Prove\com\esempio\Prova.class

    Se non hai la variabile di ambiente CLASSPATH e non fai nulla di specifico come impostazioni, il classpath è formato dalla directory "corrente".

    Quindi basta fare:

    cd C:\Prove

    e poi

    java com.esempio.Prova

    Nota che a 'java' NON devi passare un path/file ma il nome completamente qualificato della classe.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

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 © 2025 vBulletin Solutions, Inc. All rights reserved.