Come generare jar da un progetto maven?

di il
7 risposte

Come generare jar da un progetto maven?

Salve a tutti,
ho dei sorgenti java e da essi devo realizzare un file .jar (contenente i relativi file .class). Ho realizzato il progetto maven, ma ora non riesco a generare il file .jar. Faccio click col tasto destro sul progetto, poi Run As->Maven build, ma mi dà il seguente errore:

[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Build Order:
[INFO] 
[INFO] WSO2 Carbon Extension - RabbitMQ Pom
[INFO] WSO2 Carbon - Analytics Event Receiver Library For RabbitMQ
[INFO] WSO2 Carbon - Extension RabbitMQ Feature
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO] 
[INFO] WSO2 Carbon Extension - RabbitMQ Pom .............. SKIPPED
[INFO] WSO2 Carbon - Analytics Event Receiver Library For RabbitMQ  SKIPPED
[INFO] WSO2 Carbon - Extension RabbitMQ Feature .......... SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.518 s
[INFO] Finished at: 2016-12-17T11:41:57+01:00
[INFO] Final Memory: 7M/150M
[INFO] ------------------------------------------------------------------------
[ERROR] No goals have been specified for this build. You must specify a valid lifecycle phase or a goal in the format <plugin-prefix>:<goal> or <plugin-group-id>:<plugin-artifact-id>[:<plugin-version>]:<goal>. Available lifecycle phases are: validate, initialize, generate-sources, process-sources, generate-resources, process-resources, compile, process-classes, generate-test-sources, process-test-sources, generate-test-resources, process-test-resources, test-compile, process-test-classes, test, prepare-package, package, pre-integration-test, integration-test, post-integration-test, verify, install, deploy, pre-clean, clean, post-clean, pre-site, site, post-site, site-deploy. -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/NoGoalSpecifiedException
Inoltre mi dà errore nel file pom.xml; dove c'è il tag <parent> mi segnala questa cosa:

Multiple annotations found at this line:
	- Plugin execution not covered by lifecycle configuration: 
	 org.jvnet.maven.incrementalbuild:incremental-build-plugin:1.3:incremental-build (execution: default, 
	 phase: validate)
	- maven-remote-resources-plugin (goal "process") is ignored by m2e.
In allegato è visibile uno screen della situazione.
Allegati:
11567_70acbd3242e923c7a73564c3a8ad0423.png
11567_70acbd3242e923c7a73564c3a8ad0423.png

7 Risposte

  • Re: Come generare jar da un progetto maven?

    Salva ha scritto:


    ho dei sorgenti java e da essi devo realizzare un file .jar (contenente i relativi file .class).

    [ERROR] No goals have been specified for this build. You must specify a valid lifecycle phase or a goal in the format <plugin-prefix>:<goal> or <plugin-group-id>:<plugin-artifact-id>[:<plugin-version>]:<goal>. Available lifecycle phases are: validate, initialize, generate-sources, process-sources, generate-resources, process-resources, compile, process-classes, generate-test-sources, process-test-sources, generate-test-resources, process-test-resources, test-compile, process-test-classes, test, prepare-package, package, pre-integration-test, integration-test, post-integration-test, verify, install, deploy, pre-clean, clean, post-clean, pre-site, site, post-site, site-deploy. -> [Help 1]
    Usando Maven "a mano" da prompt dei comandi, per generare il jar si dà:

    mvn package


    E da Eclipse, puoi sì fare Run -> Maven Build ma devi appunto specificagli package
  • Re: Come generare jar da un progetto maven?

    Dopo che faccio Run -> Maven Build non so dove va specificato il package. Non sono esperto di Maven. Praticamente devo modificare i file contenuti in un file jar (che funziona correttamente). Comunque, potresti dirmi dove va specificato il package?
  • Re: Come generare jar da un progetto maven?

    Salva ha scritto:


    Dopo che faccio Run -> Maven Build non so dove va specificato il package.
    Campo "Goals:". Devi scrivere proprio package
    Non un qualche package

    Salva ha scritto:


    Praticamente devo modificare i file contenuti in un file jar
    Cioè??
  • Re: Come generare jar da un progetto maven?

    Ah, ecco, ora mi è più chiaro il da farsi
    Ora però mi dà il seguente errore:
    
    [ERROR] COMPILATION ERROR : 
    [INFO] -------------------------------------------------------------
    [ERROR] Unable to locate the Javac Compiler in:
      C:\Program Files\Java\jre1.8.0_111\..\lib\tools.jar
    Please ensure you are using JDK 1.4 or above and
    not a JRE (the com.sun.tools.javac.Main class is required).
    In most cases you can change the location of your Java
    installation by setting the JAVA_HOME environment variable.
    [INFO] 1error
    [INFO] -------------------------------------------------------------
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD FAILURE
    
    Dovrei cambiare il compilatore selezionandolo dalla cartella jdk...potresti dirmi dove devo andare per cambiarlo?
    Cioè??
    Ho un oggetto software che necessita di un file jar (una sorta di adattatore) per poter configurare e realizzare un ricevitore (sull' oggetto software) in grado di ricevere dati da un message broker. Tale file jar non va proprio bene così come è, quindi devo modificarci alcune cose dentro.
  • Re: Come generare jar da un progetto maven?

    Salva ha scritto:


    Ora però mi dà il seguente errore:
    
    [ERROR] Unable to locate the Javac Compiler in:
      C:\Program Files\Java\jre1.8.0_111\..\lib\tools.jar
    
    Ma nel sistema hai un JDK ... o un JRE?? Mi pare un JRE.
    Allora: Eclipse può avviarsi (e poi compilare sorgenti Java) anche solo con un JRE, poiché ha un suo compilatore Java interno.
    Ma se vuoi usare i tools del JDK, o fare il build con Maven o altro ... serve un JDK (che un programmatore Java comunque dovrebbe avere sulla macchina).
  • Re: Come generare jar da un progetto maven?

    Ce li ho tutti e 2 (jdk e jre), solo che ora dovrebbe essere impostato il jre...dovrei selezionare il path del jdk? dove?
  • Re: Come generare jar da un progetto maven?

    Salva ha scritto:


    Ce li ho tutti e 2 (jdk e jre), solo che ora dovrebbe essere impostato il jre...dovrei selezionare il path del jdk? dove?
    In generale i runtime Java sono configurati in Window -> Preferences, poi nella sezione Java -> Installed JREs
    Parla di "JRE" ma possono anche esserci JDK.

    Io personalmente, comunque, faccio sempre avviare Eclipse usando un JDK. Per evitare problemi (e siccome ho più JDK di versioni diverse sul PC) metto sempre nel eclipse.ini (si trova dove c'è eclipse.exe) la configurazione della vm così es.:

    .........altro.........
    --launcher.defaultAction
    openFile
    --launcher.appendVmargs
    -vm
    C:\Program Files\Java\jdk1.8.0_112\bin\javaw.exe

    -vmargs
    -Dosgi.requiredJavaVersion=1.8
    -XX:+UseG1GC
    .........altro.........
Devi accedere o registrarti per scrivere nel forum
7 risposte