Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente bannato
    Registrato dal
    Dec 2009
    Messaggi
    43

    creare file jar da linea di commando.

    Salve, ho letto in un sito che lo riporto qui:

    Creating a jar File in Command Prompt

    1. Start Command Prompt.
    2. Navigate to the folder that holds your class files:

    C:\>cd \mywork

    3. Set path to include JDK’s bin. For example:

    C:\mywork> path c:\Program Files\Java\jdk1.5.0_09\bin;%path%

    4. Compile your class(es):

    C:\mywork> javac *.java

    5. Create a manifest file:

    C:\mywork> echo Main-Class: DanceStudio >manifest.txt

    6. Create a jar file:

    C:\mywork> jar cvfm DanceStudio.jar manifest.txt *.class

    7. Test your jar:

    C:\mywork> DanceStudio.jar



    Mi dite che cosa deve avere per il programma che ha solo una main ?

    E un esempio di hello world e lo vorrei trasformare in jar.
    ecco il codice:

    public class HelloWorld {
    public static void main(String[] args) {
    System.out.println ("Hello World");
    }
    }

    grazie.

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

    Re: creare file jar da linea di commando.

    Originariamente inviato da dualcore82
    Mi dite che cosa deve avere per il programma che ha solo una main ?

    E un esempio di hello world e lo vorrei trasformare in jar.
    ecco il codice:

    codice:
    public class HelloWorld {
        public static void main(String[] args) {
            System.out.println ("Hello World");
        }
    }
    Se vuoi che sia direttamente avviabile usando java -jar blabla.jar allora devi:

    1) Creare un file di testo (nome qualunque, es. manifest.txt, non è importante tanto il nome) con dentro la riga:

    Main-Class: HelloWorld

    Nota: la riga va terminata con un newline, altrimenti ci sono problemi (e sono noti).

    2) Ammesso che hai già compilato e ottenuto un HelloWorld.class fai:

    jar cvfm helloworld.jar manifest.txt HelloWorld.class

    Il 'v' è opzionale, indica solo "verbose".


    Nota finale: ho presupposto che la classe HelloWorld non è in un package specifico ... ma nel package di "default" (un-named). Altrimenti le cose cambierebbero.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente bannato
    Registrato dal
    Dec 2009
    Messaggi
    43
    grazie tanto, ha funzionato.

    Buone feste.

  4. #4
    Utente bannato
    Registrato dal
    Dec 2009
    Messaggi
    43
    ok,

    il problema ora mi sorge propio per quelli che hanno il package
    ad esempio:

    http://www.cokeandcode.com/info/tut2d.html

    ed ha
    package org.newdawn.spaceinvaders;

    come dovrei fare con questi che hanno quel coso?

    Vorrei creare il file .jar di questo tutorial.

    Mi dici come devo fare?

    Questo dove ci sta la Main:

    http://www.cokeandcode.com/info/show...ders/Game.java

    Grazie.

  5. #5
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da dualcore82
    come dovrei fare con questi che hanno quel coso?
    Immagina che il tuo HelloWorld di prima sia in realtà com.dualcore82.HelloWorld (package com.dualcore82).

    Il file HelloWorld.class sta in un path, es.:

    ....blabla\tuoprogetto\com\dualcore82\HelloWorld.class

    Il percorso com\dualcore82 è tassativo che deve essere così. I nomi di package si devono sempre "riflettere" nella struttura delle directory.

    Tu sei come directory corrente in 'tuoprogetto'.

    Nel manifest la riga è:

    Main-Class: com.dualcore82.HelloWorld

    E il comando è:

    jar cvfm helloworld.jar manifest.txt com\dualcore82\HelloWorld.class

    Ti è chiaro il concetto generale? I nomi dei package si devono sempre "riflettere" nella struttura delle cartelle. Anche dentro un jar. Quindi in questo jar, alla "radice" troverai una cartella "com" con dentro una cartella "dualcore82" con dentro HelloWorld.class
    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.