Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 22

Discussione: problemi creazione jar

  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    755

    problemi creazione jar

    Ho creato sul desktop una cartella (ClaudioP) contenente una serie di file ".class" e sempre sul desktop un file manifesto.txt (con scritto "Main-Class: ClaudioP.Calcolatrice";il main sta nel file Calcolatrice.class all'interno della cartella ClaudioP)
    ora voglio creare un jar da linea di comando con i file nella cartella ClaudioP e con il file manifest "manifesto.txt"...ma sorge un problema:
    trovandomi come percorso in:
    C:\Users\claudio\Desktop>
    e ora scrivo:
    jar -cmf manifesto.txt CalcolatriceClaudio.jar ClaudioP

    ma premendo avvio mi dà l'errore:
    "jar" non è riconosciuto come comando interno o esterno,un programma eseguibile o un file batch

    perchè mi dà questo errore?cosa e dove sbaglio?

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: problemi creazione jar

    Originariamente inviato da zipangulu
    "jar" non è riconosciuto come comando interno o esterno,un programma eseguibile o un file batch

    perchè mi dà questo errore?cosa e dove sbaglio?
    In PATH c'è la "bin" del JDK??? Questa è la primissima cosa da fare quando si vuole usare direttamente il JDK!


    P.S. Nota finale sul manifest. Hai solo una riga con scritto Main-Class: ...blabla. Nota che devi avere un newline, cioè deve andare a capo.
    Non è uno sfizio ... deve essere così altrimenti il tool jar non prende quella riga.
    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 2009
    Messaggi
    755
    mmm...che distrazione...pensavo di averla impostata e invece no
    creato il jar ma c'è un problema:
    quando vado ad avviare il jar mi dice:
    Could not find the main class:ClaudioP.Calcolatrice.Program will exit.
    la classe col metodo main sarebbe Calcolatrice.class dentro ClaudioP...non ci sono altre directory...perchè mi segna errore?

    al primo tentativo il manifest era:
    Main-Class: ClaudioP.Calcolatrice
    +due volte a capo
    poi ho provato anche facendo:
    Main-Class: Calcolatrice
    +2 volte a capo

    l'errore dove sta?

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da zipangulu
    Could not find the main class:ClaudioP.Calcolatrice.Program will exit.
    la classe col metodo main sarebbe Calcolatrice.class dentro ClaudioP...non ci sono altre directory...perchè mi segna errore?
    Non è solo questione di directory. Nel sorgente c'è proprio la dichiarazione di package:

    package ClaudioP;

    ??
    Perché altrimenti non è un package!
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    755
    si conosco la dichiarazione di package ma se le mie classi fossero libere?non appartenenti a un package ma soltanto raggruppate in una stessa directory?potrei avviarlo comunque o devo per forza raggrupparle in un package?

  6. #6
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da zipangulu
    non appartenenti a un package ma soltanto raggruppate in una stessa directory?potrei avviarlo comunque o devo per forza raggrupparle in un package?
    No allora. I nomi di package si devono sempre "riflettere" nella struttura delle directory.

    No package no directory.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  7. #7
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    755
    si capito...
    il problema è che essendo abituato a lavorare con textpad,esso mi dà problemi nella creazione di un package...è un problema noto penso...cercando su internet ho trovato molte volte postati problemi a riguardo
    soluzione?

  8. #8
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da zipangulu
    il problema è che essendo abituato a lavorare con textpad,esso mi dà problemi nella creazione di un package...
    Io non vedo problemi (in generale parlo ... textpad non lo conosco). Nel senso che in Java i package sono solo una questione di organizzazione strutturale dei file.

    Se tu hai una classe (supponiamo con main() ) in:

    C:\Progetti\Esempio\prova\Test.class

    e in Test.java avevi messo package prova; allora quando vuoi avviare Test devi:

    a) Avere in "classpath" (in un modo o nell'altro .. assoluto o relativo) C:\Progetti\Esempio (non anche prova!!)
    b) Usare il nome qualificato della classe: java prova.Test

    Ma è tutto qui!
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  9. #9
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    755
    sono riuscito a creare il jar e avviando lui viene avviato anche il programma...ma esso utilizza classi esterne per svolgere le sue funzioni(del jar del parser JEP),la classpath è fatta puntare a questo jar ma il mio programma quando deve usare le sue funzioni ignora queste azioni.perchè?cosa devo fare?

  10. #10
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da zipangulu
    sono riuscito a creare il jar e avviando lui viene avviato anche il programma...ma esso utilizza classi esterne per svolgere le sue funzioni(del jar del parser JEP),la classpath è fatta puntare a questo jar ma il mio programma quando deve usare le sue funzioni ignora queste azioni.perchè?cosa devo fare?
    Usa l'attributo Class-Path del manifest.
    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.