2011-11-03 12 views
6

Estoy usando NewRelic para la supervisión. Quiero que Maven empaque los archivos newrelic.jar y newrelic.yaml en mi WEB-INF/lib dentro del archivo war. Con el newrelic.jar no hay ningún problema ya que es una dependencia simple, pero newrelic.yaml es un archivo de recursos. Reside en el directorio de recursos. Quiero que Maven (complemento de guerra) lo copie en WEB-INF/lib al empaquetar la guerra.¿Cómo hacer que Maven copie el archivo de recursos en el directorio WEB-INF/lib?

Gracias.

Alex

+2

¿No deberías maven ponerlo en 'WEB-INF/classes' por defecto? Aquí es donde los recursos que no son JAR deben ir en el classpath –

+0

@mattb estás en lo correcto, así es como debería ser, pero en los documentos de las nuevas reliquias dicen que ambos archivos deben estar en el mismo dircetorio [enlace a los documentos] ] (http://newrelic.com/docs/java/using-new-relic-with-aws-elastic-beanstalk) – AlexV

+0

que parece extraño. Sería inusual que una clase busque recursos específicamente en 'WEB-INF/lib' en lugar de simplemente cargarlo desde classpath –

Respuesta

9

Aunque estoy de acuerdo con @ Matt b que esto es extraño, esto es lo que puede hacer:

intente cambiar la configuración del plugin guerra experto para incluir un WebResource:

<configuration> 
     <webResources> 
     <resource> 
      <directory>pathtoyaml</directory> 
      <includes> 
      <include>**/*.yaml</include> 
      <includes>   
     <targetPath>WEB-INF/lib</targetPath> 
     </resource> 
     </webResources> 
    </configuration> 

El directorio es relativo al pom.xml. Ver the plugin's documentation para más información.

+0

Funcionó, gracias. – AlexV

0
  1. Usted debe tratar de añadir archivo .yaml a los recursos de newrelic.jar, después puede acceder a él a través de la ruta de clases.
  2. O intente cambiar/anulando objetivo build.xml acumulación mediante la adición de algo así como < archivo de copia = "yaml" TODIR = "WEB-INF/lib" />

Intente buscando en Google para obtener más información sobre cómo cambiar build.xml.

+0

No tengo el control de newrelic.jar, es un tercero. Buscan el archivo de configuración .yml en el mismo directorio donde está el jar. Otra cosa, estoy usando Maven para que no haya build.xml para mí. – AlexV

4

También puede especificar la mayoría de las configuraciones para el agente New Relic, incluida la ubicación del archivo de configuración mediante las banderas pasadas al comando java. En este caso, es algo así como:

-Dnewrelic.config.file =/etc/newrelic.yml

(ok, es exactamente así, pero hay que especificar cualquier camino que necesita si no es que .)

Cuestiones relacionadas