Maven: comment obtenir de guerre paquet avec des ressources copié dans WEB-INF?
lorsque je crée une guerre paquet avec maven, les fichiers et répertoires sous le répertoire "src/main/resources" sont copiés dans /WEB-INF/classes au lieu de /WEB-INF. Comment puis-je obtenir copié dans /WEB-INF?
grâce,
rand
Mise à JOUR:
dans mon pom maintenant, j'utilise ceci:
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>2.4.3</version>
<executions>
<execution>
<id>copy-resources</id>
<!-- here the phase you need -->
<phase>war</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>myapp/target/WEB-INF</outputDirectory>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
et je lance mvn avec:
mvn -Dmaven.test.skip=true propres ressources du package:copier-ressources
mais j'ai eu:
[INFO] One or more required plugin parameters are invalid/missing for 'resources:copy-resources'
[0] Inside the definition for plugin 'maven-resources-plugin' specify the following:
<configuration>
...
<outputDirectory>VALUE</outputDirectory>
</configuration>.
[1] Inside the definition for plugin 'maven-resources-plugin' specify the following:
<configuration>
...
<resources>VALUE</resources>
</configuration>.
Je suis en utilisant maven 2.2 et l'extrait de code est essentiellement la même que celle de la documentation
une idée?
- ne pas exécuter de la
resources:copy-resources
le but, il est automatiquement inclus dans la phasecopy-resources
(là-bas, dans ma réponse)
Vous devez vous connecter pour publier un commentaire.
soit configurer le
outputDirectory
paramètre deresources:resources
plugin, ou de mettre vos fichiers soussrc/main/webapp/WEB-INF/
répertoire.plugin de ressource
EDIT:
Cette configuration est de travailler pour moi:
vous pouvez exécuter une phase dans la forme
somePhase
ou d'un butsomePlugin:someGoal
. La phase invocations appelle tous les plugins objectifs accroché sur les phases dans l'intervalle [valider,la phase] dans l'ordre, donc il n'y a pas besoin d'appeler explicitement eux.${project.build.finalName}
au lieu de${project.artifactId}-${project.version}
pour obtenir le nom de l'artefact.De ressources sur le Web ne sont pas les mêmes que les ressources java, qui doit être placé dans le classpath. Les ressources Web sont traitées par la guerre plugin et doivent être placés dans
src\main\webapp\WEB-INF\
. Dans ce cas, il fonctionnera automatiquement sans aucune configuration supplémentaire dans le pom.xmljava resource
, si elle n'est pas auto déployé à son endroit?mvn clean
. ensuite, maven va pas recommencer pour moi quand mettre les ressources en vertu desrc/main/java
au lieu desrc/main/resources
. Je suis à l'aide d'eclipse.Cette configuration fonctionne ajouter plugin pom.xml