Visualizzazione dei risultati da 1 a 6 su 6

Visualizzazione discussione

  1. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da Gas75 Visualizza il messaggio
    Nel file .jar il MANIFEST c'è...
    Ma non è quello che hai messo tu a mano nella META-INF !

    Quote Originariamente inviata da Gas75 Visualizza il messaggio
    Avevo capito che si potessero indicare le cartelle e jar.exe caricava tutto il contenuto.
    Sì ma la META-INF è "particolare".

    Quindi:

    a) se non devi mettere attributi particolari nel manifest (es. Class-Path o altro) ma solo il Main-Class:

    jar cfe CamiciaTest.jar principale.CamiciaTest principale secondario

    l'opzione -e specifica la main class in modo più semplice

    b) se devi per forza creare un manifest, allora crei un es. manifest.txt (il nome NON è rilevante ... anche pluto.txt funzionerebbe) con solo:

    Main-Class: principale.CamiciaTest
    --riga vuota--


    poi

    jar cfm CamiciaTest.jar manifest.txt principale secondario
    oppure
    jar cmf manifest.txt CamiciaTest.jar principale secondario

    Nota l'ordine di f/m e di jar/manifest. Devono corrispondere!

    Quote Originariamente inviata da Gas75 Visualizza il messaggio
    Altra domanda: ho letto che, una volta generati tutti i file .class con gli eventuali package, posso organizzarli in una cartella e creare il file .jar... Immagino però che i file .class debbano conservare la posizione relativa (non ho progetti complessi) e non essere copiati in un'unica cartella di comodo "tanto ci sono le indicazioni dei package"...
    I nomi di package si DEVONO sempre "riflettere" nella struttura delle cartelle. Quindi una classe com.esempio.Demo DEVE stare in com/esempio/Demo.class

    Poi la "com" può stare dentro una directory xyz/ o dentro un xyz.jar, non ha importanza (fintanto che la xyz/ o xyz.jar siano "in classpath")

    Se vuoi far andare tutti i file .class generati in un'altra directory ben distinta da quella dei sorgenti (che è una cosa buona) es.

    codice:
    nomeprogetto/
        build/
            ....
        src/
            com/
                .....

    Sì, ok, basta usare l'opzione -d di javac. E attenzione: la directory di destinazione va messa in classpath, non è automatico con -d
    Ultima modifica di andbin; 13-07-2017 a 22:51
    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.