Maven: Come aggiungere file alla radice all'interno di un EAR con Maven-orecchio-plugin?
-
08-10-2019 - |
Domanda
Ho bisogno di aggiungere 2 file XML all'interno di un EAR generato con Maven-ear-plugin.
Purtroppo, non ho visto un modo per aggiungere un file arbitrario ad un EAR; documentazione del plugin che recita "L'EAR plugin supporta i seguenti manufatti: ejb, la guerra, jar, ejb-client, rar, EJB3, pari, sar, WSR e har". Non c'è nulla per l'aggiunta di un file regolare.
org.apache.maven.plugins Maven-ear-plugin 2.3.1 foo foo 1.4 lib $ {} Parent.groupId foo-web / foo org.richfaces.framework RichFaces-api commons-lang commons-lang
Molte grazie in anticipo.
Soluzione
Maven-ear-plugin 2.4.2 è possibile utilizzare gli elementi di configurazione earSourceDirectory, earSourceExcludes e earSourceIncludes di dichiarare i file aggiuntivi da includere nel EAR.
Per impostazione predefinita è sufficiente posizionare i file a $ {} basedir cartella dell'applicazione / / src / main.
Altri suggerimenti
Ho avuto lo stesso problema. Ho avuto il file ejb.properties sotto EJB / src / main / risorse e avevo usato earSourceDirectory e earSourceIncludes di tirare il file dalla directory EJB per l'orecchio. Tuttavia, non ha in modo affidabile metterlo nella cartella lib. L'EJB non lo trova in.; sembra per nella directory lib.
Per risolvere questo problema, ho creato la directory lib src / main application / / e creato un collegamento al file ejb.properties. Ho quindi rimosso l'earSourceDirectory e include le proprietà. Ora, quando faccio un pacchetto pulito mvn, tira automaticamente il file delle proprietà e lo mette nella directory lib dell'orecchio.
Mi dispiace di essere in ritardo per @wishihadabettername ma ho avuto lo stesso problema da poco, di più non potevo spostare i file da includere, perché erano in altra cartella poi earSourceDirectory. Ho letto Maven-orecchio-plug orecchio: orecchio documentazione e pensato a come spostare la mia cartella release
sulla radice dell'orecchio.
Si lega per impostazione predefinita per la fase del ciclo di vita:. Pacchetto
e
workDirectory -. Elenco che le risorse vengono copiati durante la costruzione
Il valore di default è:. $ {} project.build.directory / $ {} project.build.finalName
Poi i miei sottomodulo aspetto pom.xml come questo:
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<executions>
<execution>
<id>copy-resources</id>
<phase>prepare-package</phase> <!-- before package phase -->
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<!-- Work Directory of Ear plugin -->
<outputDirectory>${project.build.directory}/${project.build.finalName}</outputDirectory>
<resources>
<resource>
<!-- my resource folder -->
<directory>release</directory>
<filtering>true</filtering>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
La speranza è aiutare le persone da ora in poi