Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    Java + AKKA - indirizzare output su file .log

    Ciao,
    sto cercando di indirizzare l'output di un file java che contiene classi AKKA, verso un file .log per poter fare dei controlli successivamente.
    Utilizzando questa stringa, da terminale(Ubuntu 16), mi dice che non trova la classe specificata. La classe è nella cartella bin, ho controllato ed il programma esegue regolarmente se lo lancio con Gradle o direttamente su Eclipse.
    codice:
     java -cp $AKKA_CLASSPATH:. path_to_class > test.log
    Se poi da terminale cerco di stampare
    codice:
    echo $AKKA_CLASSPATH
    ...non ottengo nulla.
    Ho cercato molto in rete ma non capisco quale è il problema.

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304
    Sposto nella sezione dedicata a Java.

    Ad ogni modo, se la variabile d'ambiente non contiene nulla (l'echo non ti dà nulla) allora non ha molto senso mettere $AKKA_CLASSPATH nell'elenco delle risorse in class-path... piuttosto, se la classe si trova nella cartella bin, dovrai mettere questa in classpath, quindi, dovrebbe essere qualcosa del genere:

    codice:
    java -cp /bin:. nome_classe > test.log

    Nota che al comando java va passato il nome (completamente qualificato) della classe da avviare, non il "path" del file class (o jar) che la contiene.


    Ciao.
    Ultima modifica di LeleFT; 23-03-2018 a 10:39
    "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

  3. #3
    Quote Originariamente inviata da LeleFT Visualizza il messaggio
    Sposto nella sezione dedicata a Java.

    Ad ogni modo, se la variabile d'ambiente non contiene nulla (l'echo non ti dà nulla) allora non ha molto senso mettere $AKKA_CLASSPATH nell'elenco delle risorse in class-path... piuttosto, se la classe si trova nella cartella bin, dovrai mettere questa in classpath, quindi, dovrebbe essere qualcosa del genere:

    codice:
    java -cp /bin:. nome_classe > test.log

    Nota che al comando java va passato il nome (completamente qualificato) della classe da avviare, non il "path" del file class (o jar) che la contiene.


    Ciao.
    Credevo di aver postato nella sezione java in effetti.

    Forse dovrei scaricare i file della libreria di akka e settare la variabile d'ambiente? Non ho le idee molto chiare, mi pare d'aver capito che non c'è nulla da "installare" ma, se proprio non ti vuoi affidare a Bst o Maven o Gradle solo da piazzare la libreria nel tuo pc e indicarla appunto in fase di compilazione. Immagino che Gradle e gli altri allora risolvano le dipendenze a runtime in modo temporaneo, perché il programma di suo funziona se lanciato con Gradle.

    Per nome della classe intendi 'folder.casa.cane.gatto.miaclasse' e non il path con gli '/'?

    Potresti spiegarmi nella sintassi cosa è quel '.' dopo i ':' ?
    E poi perché devo passargli 'bin/' se poi specifico il percorso esatto della classe?

    Grazie in anticipo.

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,254
    Quote Originariamente inviata da caramelleamare Visualizza il messaggio
    Non ho le idee molto chiare
    Infatti. Ti è chiaro innanzitutto cosa è, detto in generale, il "classpath"?
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    Java Versions Cheat Sheet

  5. #5
    Quote Originariamente inviata da andbin Visualizza il messaggio
    Infatti. Ti è chiaro innanzitutto cosa è, detto in generale, il "classpath"?
    Credo di sì: è il percorso dove la jvm cerca le classi, i file .class, derivanti dalla compilazione dei file .java. In modo che se una classe dipende da un'altra la dipendenza ed eventuali errori vengono controllati in fase di compilazione invece che a runtime.

  6. #6
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,254
    Quote Originariamente inviata da caramelleamare Visualizza il messaggio
    Credo di sì: è il percorso dove la jvm cerca le classi, i file .class, derivanti dalla compilazione dei file .java. In modo che se una classe dipende da un'altra la dipendenza ed eventuali errori vengono controllati in fase di compilazione invece che a runtime.
    "nì". Il classpath, detto in generale come concetto, è un elenco di directory e/o file .jar che la JVM può utilizzare per rintracciare le classi (e eventuali "risorse", tipo file immagine, audio, ecc..).
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    Java Versions Cheat Sheet

Tag per questa discussione

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.