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

    Creare JAR con IntelliJ 9

    ciao!

    sto cercando di creare un JAR di un piccolo programma, in modo da distribuirlo.
    sto usando intellij 9, e maven.
    ho creato un artifacts di tipo JAR e fatto il build.
    poi quando provo a lanciare il JAR ottengo questo:
    codice:
    $ java -jar JsonToXls.jar 
    nessun attributo manifest principale in JsonToXls.jar
    cosa sbaglio???

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,254
    Quote Originariamente inviata da fermat Visualizza il messaggio
    poi quando provo a lanciare il JAR ottengo questo:
    codice:
    $ java -jar JsonToXls.jar 
    nessun attributo manifest principale in JsonToXls.jar
    Se c'è di mezzo Maven, allora c'entra Maven, non (tanto) l'IDE xyz. Innanzitutto bisogna vedere se il progetto ha delle "dipendenze" e in tal caso come vuoi disporre i jar delle dipendenze rispetto al jar principale della tua applicazione (tipicamente es. in una cartella "lib/" dove hai il jar principale).

    Per configurare il manifest si usa il maven-jar-plugin e se vuoi gestire i jar delle dipendenze ad esempio copiandoli in una "lib/", allora si usa il maven-dependency-plugin.
    Puoi vedere il pom.xml di un mio esempio Java.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    Java Versions Cheat Sheet

  3. #3
    si immaginavo, ed ho modificato il mio pom.xml così:
    codice:
         <build> 
            <plugins> 
                <plugin> 
                    <groupId>org.apache.maven.plugins</groupId> 
                    <artifactId>maven-compiler-plugin</artifactId> 
                    <version>2.5.1</version> 
                    <inherited>true</inherited> 
                    <configuration> 
                        <source>1.8</source> 
                        <target>1.8</target> 
                    </configuration> 
                </plugin> 
                <plugin> 
                    <groupId>org.apache.maven.plugins</groupId> 
                    <artifactId>maven-dependency-plugin</artifactId> 
                    <executions> 
                        <execution> 
                            <id>copy-dependencies</id> 
                            <phase>package</phase> 
                            <goals> 
                                <goal>copy-dependencies</goal> 
                            </goals> 
                            <configuration> 
                                <outputDirectory>${project.build.directory}/lib</outputDirectory> 
                                <overWriteReleases>false</overWriteReleases> 
                                <overWriteSnapshots>false</overWriteSnapshots> 
                                <overWriteIfNewer>true</overWriteIfNewer> 
                            </configuration> 
                        </execution> 
                    </executions> 
                </plugin> 
                <plugin> 
                    <groupId>org.apache.maven.plugins</groupId> 
                    <artifactId>maven-jar-plugin</artifactId> 
                    <version>2.6</version> 
                    <configuration> 
                        <archive> 
                            <manifest> 
                                <mainClass>com.cimoda.rest.Main</mainClass> 
                                <addClasspath>true</addClasspath> 
                                <classpathPrefix>lib/</classpathPrefix> 
                            </manifest> 
                        </archive> 
                    </configuration> 
                </plugin> 
            </plugins> 
        </build>
    poi ho compilato il progetto, ma nella cartella del progetto non c'è traccia di nulla.

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,254
    Quote Originariamente inviata da fermat Visualizza il messaggio
    ma nella cartella del progetto non c'è traccia di nulla.
    Viene generato tutto sotto la "target". Ed avendo usato ${project.build.directory}/lib quindi avrai la target/lib
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    Java Versions Cheat Sheet

  5. #5
    si ho cercato in target, ma non c'è nulla al riguardo.
    ci sono cartelle:
    - classes (ci stanno tutti i file .class)
    - generated-sources (con una cartella annotations vuota)

    non c'è altro.
    sto lanciando la compilazione sempre dall'ide: Builld -> Build Project.
    oppure con il tasto destro sul progetto Build Module 'nome_modulo'.

    o devo lanciarlo in altro modo??

  6. #6
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,254
    Quote Originariamente inviata da fermat Visualizza il messaggio
    o devo lanciarlo in altro modo??
    Con Maven: mvn package

    Come "scatenarlo" da un IDE .... è un altro discorso. E IntelliJ IDEA lo conosco poco.

    (P.S. il "build" classico da un ide comunque fa "meno" del package; il package di Maven è: compilazione+test+impacchettamento)
    Ultima modifica di andbin; 07-09-2017 a 18:18
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    Java Versions Cheat Sheet

  7. #7
    netbeans lo fa di default, nel senso che quelle impostazioni messe nel pom.xml, su un altro progetto, lanciato in netbeans funziona bene.
    quindi sicuramente intellj funziona in maniera diversa.

    mi faccio una ricerca veloce.
    se non trovo nulla lo lancio a mano!
    intanto grazie!

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.