Visualizzazione dei risultati da 1 a 6 su 6

Hybrid View

  1. #1
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    Il codice è corretto e compila senza alcun problema.
    Come compili?

    Se compili da riga di comando è sufficiente posizionarsi fuori dalla directory "livello1" e dare il seguente comando, per far fare al compilatore TUTTO il lavoro:

    codice:
    $ javac livello1/Padre.java

    Il compilatore risolverà da solo tutte le "dipendenze" e compilerà tutto ciò che gli serve (trovando tutti i sorgenti).

    Stessa cosa per poter eseguire: si deve essere posizionati fuori dalla directory "livello1" e dare il nome della classe in modo completamente qualificato:

    codice:
    $ java livello1.Padre
    
    oppure
    
    $ java livello1.livello2.Figlio

    Ciao.
    Ultima modifica di LeleFT; 13-07-2015 a 14:24
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Aggiungo solo che per fare i comandi detti da LeleFT, bisogna solo assicurarsi che in classpath ci sia (in modo relativo o assoluto) la directory in cui sei (ovvero la parente di livello1).
    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
    Oct 2014
    residenza
    Padova
    Messaggi
    361
    Quote Originariamente inviata da LeleFT Visualizza il messaggio
    Il codice è corretto e compila senza alcun problema.
    Come compili?

    Io compilavo dentro la cartella "livello1", in realtà avevo anche provato a compilare da fuori ma l'avevo fatto quando funzionava in entrambi i casi quindi pensavo fosse uguale... Ora comunque funziona tutto


    Quote Originariamente inviata da andbin Visualizza il messaggio
    Aggiungo solo che per fare i comandi detti da LeleFT, bisogna solo assicurarsi che in classpath ci sia (in modo relativo o assoluto) la directory in cui sei (ovvero la parente di livello1).

    Non ho cambiato niente nel classpath , mi funziona perchè ho la variabile d'ambiente settata nel modo corretto ?


    Infine ho provato anche a creare il .jar per vedere se i collegamenti funzionano, ho creato fuori dalla directory livello1 il file manifest.txt (con la sola riga: Main-Class: livello1.Padre ) e creato il .jar (sempre dalla cartella padre di livello1) con il comando:


    jar cmf manifest.txt ProvePackage.jar livello1


    Il jar è creato e mi sembra funzionare (ho aggiunto una semplice stampa di una variabile), di solito essendo tutto nella stessa cartella specifico io i .class e la cartella di immagini da inserire, mentre stavolta ho in pratica "buttato dentro tutto"

    Grazie a entrambi !!
    Ultima modifica di Ansharja; 13-07-2015 a 15:01

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da Ansharja Visualizza il messaggio
    Non ho cambiato niente nel classpath , mi funziona perchè ho la variabile d'ambiente settata nel modo corretto ?
    Se non c'è la variabile di ambiente CLASSPATH, per default la directory "corrente" è in classpath.
    Se c'è la variabile di ambiente CLASSPATH, dovresti specificare o "." (senza apici) per indicare la directory corrente in modo relativo oppure il percorso assoluto alla parente di livello1.
    Se usi l'opzione -classpath blabla dei tools javac/java, la variabile CLASSPATH viene ignorata.


    P.S. semplice suggerimento: compilare "a mano" così, specialmente quando ci sono di mezzo i package è ovviamente un po' noioso. Va bene solo a livello didattico per avere chiaro il funzionamento. Se vuoi fare qualcosa di più realistico, o usi un IDE, oppure usi (anche "a mano" da console) dei tool di build come Ant o Maven.
    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 © 2026 vBulletin Solutions, Inc. All rights reserved.