Visualizzazione dei risultati da 1 a 9 su 9

Discussione: Problema main su un'altro pc

  1. #1

    Problema main su un'altro pc

    ciao!

    ho creato un programma (javafx) con intellij sul mio pc con arch linux a 64bit.
    poi ho creato il jar con maven:
    codice:
    mvn package
    testato sul pc lanciandolo così ed ha funzionato senza problemi:
    codice:
    java -jar file.jar
    poi l'ho copiato su un pc con windows 7 a 64bit, ed ha funzionato senza problemi.

    infine l'ho copiato su un altro pc con linux mint a 64bit, ed ottengo questo errore:
    codice:
    $ java -jar MPPhotoGallery-1.0-SNAPSHOT.jar 
    Errore: impossibile trovare o caricare la classe principale com.mp.photoalbum.Main
    possibile mai una cosa del genere???

  2. #2
    Quote Originariamente inviata da fermat Visualizza il messaggio
    codice:
    $ java -jar MPPhotoGallery-1.0-SNAPSHOT.jar 
    Errore: impossibile trovare o caricare la classe principale com.mp.photoalbum.Main
    possibile mai una cosa del genere???
    Uhm ... molto strano.

    Che runtime Java è? ( java -version )

    Prova anche a lanciare non con -jar ma indicando il jar "in classpath" e specificando la classe principale (ma così deve funzionare per forza ... salvo altre questioni).

    P.S. quale è il "target" come versione Java della tua applicazione? Se hai usato JavaFX, presumibilmente/ragionevolmente almeno Java 8.
    Ultima modifica di andbin; 02-02-2018 a 11:31
    Andrea, www.andbin.net – Senior Java developer – SCJP 5 (91%) – SCWCD 5 (94%)
    Il mio blog sulla programmazione

  3. #3
    si java 8.

    questa la versione su arch linux dove funziona:
    codice:
    $ java -version
    openjdk version "1.8.0_144"
    OpenJDK Runtime Environment (build 1.8.0_144-b01)
    OpenJDK 64-Bit Server VM (build 25.144-b01, mixed mode)
    questa quella su linux mint dove non funziona:
    codice:
     java -version
    openjdk version "1.8.0_151"
    OpenJDK Runtime Environment (build 1.8.0_151-8u151-b12-0ubuntu0.16.04.2-b12)
    OpenJDK 64-Bit Server VM (build 25.151-b12, mixed mode)
    su windows ho la versione update 161 (o forse anche 162).

    per il classpath, ho fatto così:
    codice:
    $ java -classpath MPPhotoGallery-1.0-SNAPSHOT.jar com.mp.photoalbum
    Errore: impossibile trovare o caricare la classe principale com.mp.photoalbum
    
    $ java -classpath MPPhotoGallery-1.0-SNAPSHOT.jar com.mp.photoalbum.Main
    Errore: impossibile trovare o caricare la classe principale com.mp.photoalbum.Main
    ho aperto l'archivio jar, ed ovviamente il Main.class c'è.
    questo il MANIFEST.MF:
    codice:
    Manifest-Version: 1.0
    Built-By: matte
    Class-Path: lib/de.huxhorn.lilith.3rdparty.junique-1.0.4.jar lib/metad
     ata-extractor-2.11.0.jar lib/xmpcore-5.1.3.jar lib/commons-io-2.6.jar
    Created-By: Apache Maven 3.5.2
    Build-Jdk: 1.8.0_144
    Main-Class: com.mp.photoalbum.Main

  4. #4
    Provato questo?

    java -cp . -jar MPPhotoGallery-1.0-SNAPSHOT.jar

  5. #5
    Quote Originariamente inviata da paolino_delta_t Visualizza il messaggio
    Provato questo?

    java -cp . -jar MPPhotoGallery-1.0-SNAPSHOT.jar
    provato adesso con stesso risultato:
    codice:
    $ java -cp . -jar MPPhotoGallery-1.0-SNAPSHOT.jar 
    Errore: impossibile trovare o caricare la classe principale com.mp.photoalbum.Main
    cmq a casa ho un altro pc con linux.
    appena posso lo provo anche li.
    così vediamo se il problema è generale o su questa distro.

  6. #6
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    16,964
    Sembrerebbe che alcune versioni di OpenJDK, pur essendo superiori alla versione 8, non supportino JavaFX (manca proprio il file jfxrt.jar).

    Credo tu debba aggiornare la JDK della macchina dove non funziona.

    In alternativa, scarica la JDK ufficiale di Oracle, che dovrebbe essere coerente.


    Ciao.
    "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

  7. #7
    Quote Originariamente inviata da LeleFT Visualizza il messaggio
    Sembrerebbe che alcune versioni di OpenJDK, pur essendo superiori alla versione 8, non supportino JavaFX (manca proprio il file jfxrt.jar).

    Credo tu debba aggiornare la JDK della macchina dove non funziona.

    In alternativa, scarica la JDK ufficiale di Oracle, che dovrebbe essere coerente.


    Ciao.
    Sconcertante. Però ho visto un paio di tutorial che dicono di scaricare lo JDK di Oracle su Mint, cosa che non direbbero se non ce ne fosse assoluto bisogno.

    Quindi sembra proprio che i mantainer di Mint abbiano compilato OpenJDK senza OpenJFX. Ma è sconcertante nonostante tutto.

    Capisco che manchi su OpenJDK 9 perchè ci vuole tempo per integrarla ( causa progetto JigSaw ), ma per la 8...mah

  8. #8
    probabile che è come dite voi.

    infatti sulla arch linux che ho a casa non ho problemi.

    appena posso installo una macchina virtuale con suse o fedora, e vedo se la funziona.
    a sto punto sono curioso.

    nel frattempo faccio anche un test come mi avete consigliato.

  9. #9
    cmq ho installato il pacchetto apposito ed ha funzionatoi:
    codice:
    $ sudo aptitude install openjfx
    in pratica, javafx non è praticamente mai presente in openjdk (leggendo mi pare di aver capito che non è incluso praticamente in nessuna distro).
    però tutte le distro hanno il pacchetto apposito.

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