2016-02-16 28 views
7

Qual è la differenza traMaven tipo di dipendenza EJB vs vaso

<dependency> 
     <groupId>grouId</groupId> 
     <artifactId>artifactId</artifactId> 
     <type>ejb</type> 
    </dependency> 

e

<dependency> 
     <groupId>grouId</groupId> 
     <artifactId>artifactId</artifactId> 
    </dependency> 

Suggerimento: tipo di difetto è vaso.

+0

Un tipo 'ejb' è generato da [maven-ejb-plugin] (https://maven.apache.org/plugins/maven-ejb-plugin/) e l'intenzione è che questo è un EJB che viene utilizzato in relazione con un'applicazione EE. – khmarbaise

+0

@khmarbaise: E se uso il barattolo? Non è possibile anche per un'applicazione EE? – Chris311

risposta

0

Se non si specifica alcun tipo nella dipendenza, verrà selezionato il tipo predefinito come "jar" che significa cercare un file con estensione jar su qualsiasi repository remoto/locale. Quando specifichi un altro tipo come "ejb", "so", "aar", Maven cercherà il file con questa estensione.

+0

Al momento ho digitato ejb ma non riesco a trovare un artefatto con estensione ".ejb" nel mio orecchio. C'è solo un "artifactId.jar". – Chris311

1

Maven attiverà un ciclo di vita diverso, a seconda dell'imballaggio. Vedere here per un elenco dei cicli di vita in bundle.

Nel tuo caso particolare, la differenza sarà che, invece di chiamare l'obiettivo jar:jar durante la fase di package quando si utilizza jar come imballaggio, innescherà la ejb:ejb uno, in grado di gestire compiti specifici relativi ad un modulo EJB (client generazione...).

+0

E quando devo usare l'uno o l'altro? – Chris311

+0

Dipende molto dallo scopo del modulo. Puoi vedere il 'maven-ejb-plugin' come un' plugin maven-jar' specializzato; se hai bisogno di uno dei trattamenti speciali il 'maven-ejb-plugin' fornisce (controlla il sito plugin - https://maven.apache.org/plugins/maven-ejb-plugin/ - per maggiori informazioni), tu ' usare meglio la confezione dell'ejb. In caso contrario (ad esempio quando si utilizza EJB spec 3+), si potrebbe semplicemente usare il 'maven-jar-plugin', quindi conservare la confezione predefinita. – Tome

+0

Per me, la differenza non è ancora chiara ... – Chris311