2011-11-03 3 views
6

私は監視のためにNewRelicを使用しています。 Mavenにwarrelファイル内のWEB-INF/libというファイルにnewrelic.jarnewrelic.yamlファイルをパッケージ化します。 newrelic.jarこれは単純な依存関係であるため問題はありませんが、newrelic.yamlはリソースファイルです。 resourcesディレクトリにあります。私は戦争をパッケージ化するときにそれをWEB-INF/libにコピーするMaven(戦争のプラグイン)をします。MavenのコピーリソースファイルをWEB-INF/libディレクトリに入れる方法は?

ありがとうございました。

アレックス

+2

デフォルトで 'WEB-INF/classes'に入れるべきではありませんか?これは、非JARリソースがクラスパス –

+0

@mattbに行く必要があるところです。それは正しい方法ですが、新しい遺物のドキュメントでは、両方のファイルが同じディレクトリになければならないと言います[ドキュメントへのリンク](http://newrelic.com/docs/java/using-new-relic-with-aws-elastic-beanstalk) – AlexV

+0

これは奇妙に思えます。クラスがクラスパスからロードするのではなく、WEB-INF/libでリソースを探すのは珍しいでしょう。 –

答えて

9

私はこれが奇数である@matt bに同意するが、ここで何ができるかです:ディレクトリがある

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

にはリソースが含まれるようにMavenの戦争のプラグインの設定を変更してみてくださいpom.xmlを基準にしています。詳細は、the plugin's documentationを参照してください。

+0

それは働いて、ありがとう。 – AlexV

0
  1. あなたはクラスパス経由でアクセスすることができ、後で 、newrelic.jarのリソースに.yamlファイルを追加してみてください。
  2. OR = <コピーファイルのようなものを追加することによって、build.xmlのビルドターゲットをオーバーライド/変更してみてください "YAML" TODIR = "WEB-INF/libに" />

変更に関する詳しい情報は、グーグルで試してみてくださいbuild.xml。

+0

私はnewrelic.jarを管理していません。サードパーティーです。 jarファイルと同じディレクトリに.ymlという設定ファイルがあります。もう一つは、私はMavenを使用していますので、私のためにbuild.xmlはありません。 – AlexV

4

javaコマンドに渡されるフラグを介して、設定ファイルの場所を含むNew Relicエージェントのほとんどの設定を指定することもできます。この場合、それはのようなものです:

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

(OK、それはまさにそのようなものだが、あなたはそれがない場合は何が必要パスを指定する必要があります。)

関連する問題