2011-07-18 9 views
5

Hay una opción archiveClasses en maven-war-plugin, que empaqueta todas las clases en un solo .jar y luego crea el archivo .war con ese jar en lib/folder.Maven war plugin: archiveClasses sin recursos de archivo

Necesito hacer lo mismo, pero deje los archivos de recursos en el directorio de clases, de modo que todavía estén accesibles desde classpath, pero sean fáciles de modificar.

¿Cuál es la forma más fácil de hacerlo?

Respuesta

0

Solo debe poder especificar dónde están esos recursos. Por lo general se ve en src/main/resources de recursos, pero si los necesita en el árbol de código fuente de Java podría intentar:

+0

No-no. Están exactamente en src/main/resources, pero solo quiero que estén empaquetados en las clases/directorio dentro del archivo .war, mientras que los archivos .class de Java deben estar dentro del directorio .jar en lib /. – weekens

4

Tal vez se puede tratar de configurar su carpeta de recursos como WebResource en la configuración plug-in .

<plugin> 
    <artifactId>maven-war-plugin</artifactId> 
    <version>2.2</version> 
    <configuration> 
     <archiveClasses>true</archiveClasses> 
     <webResources> 
      <resource> 
       <directory>src/main/resources</directory> 
       <targetPath>WEB-INF/classes</targetPath> 
       <filtering>true</filtering> 
      </resource> 
     </webResources> 
    </configuration> 
</plugin> 
+0

Funciona, pero los recursos también se duplican en un contenedor. – kolobok

0

se puede hacer como esto para resolver el problema:

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-war-plugin</artifactId> 
    <version>2.4</version> 
    <configuration> 
     <warName>${project.war.name}</warName> 
     <warSourceExcludes>**/*.class</warSourceExcludes> 
     <archiveClasses>true</archiveClasses> 
    </configuration> 
</plugin> 
2

Una de las respuestas línea: No hay opciones proporcionadas en maven-war-plugin para excluir a los recursos de la jarra creado usando archiveClasses bandera .

Lo posible y más fácil solución para este problema es mover los archivos que se encuentran bajo el directorio para src/main/java/resourcessrc/main/java/webapp/WEB-INF/classes directorio.

Cuestiones relacionadas