如何让Maven将资源文件复制到WEB-INF/lib目录中?

发布于 2024-12-13 08:41:15 字数 293 浏览 1 评论 0原文

我正在使用 NewRelic 进行监控。我希望 Maven 将 newrelic.jarnewrelic.yaml 文件打包到我的 war 文件内的 WEB-INF/lib 中。使用 newrelic.jar 没有问题,因为它是一个简单的依赖项,但 newrelic.yaml 是一个资源文件。它驻留在资源目录中。我希望Maven(war插件)在打包war时将其复制到WEB-INF/lib

谢谢。

亚历克斯

I'm using NewRelic for monitoring. I want Maven to package both newrelic.jar and newrelic.yaml files into my WEB-INF/lib inside the war file. With the newrelic.jar there is no problem since it's a simple dependency, but newrelic.yaml is a resource file. It resides in resources directory. I want Maven (war plugin) to copy it to WEB-INF/lib when packaging the war.

Thanks.

Alex

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

最美的太阳 2024-12-20 08:41:15

虽然我同意 @matt b 的观点,认为这很奇怪,但您可以执行以下操作:

尝试更改 Maven War 插件的配置以包含 webResource:

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

该目录相对于 pom.xml。有关更多信息,请参阅插件文档信息。

While I agree with @matt b that this is odd, here's what you can do:

Try changing the configuration of the maven war plugin to include a webResource:

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

The directory is relative to the pom.xml. See the plugin's documentation for more info.

猥︴琐丶欲为 2024-12-20 08:41:15

您还可以通过传递给 java 命令的标志来指定 New Relic 代理的大多数配置,包括配置文件的位置。在本例中,它类似于:

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

(好吧,它完全一样,但如果不是这样,您需要指定您需要的任何路径。)

You can also specify most configuration for the New Relic agent including the location of the config file via flags passed to the java command. In this case, it's something like:

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

(ok, it's exactly like that, but you need to specify whatever path you need if it's not that.)

蝶舞 2024-12-20 08:41:15
  1. 您应该稍后尝试将 .yaml 文件添加到 newrelic.jar 的资源中
    您可以通过类路径访问它。
  2. 或者尝试通过添加类似 <> 的内容来更改/覆盖 build.xml 构建目标。复制文件=“.yaml”
    todir="WEB-INF/lib" />

尝试谷歌搜索以获取有关更改 build.xml 的更多信息。

  1. You should try adding .yaml file to newrelic.jar's resources, later
    you can access it via classpath.
  2. Or try changing/overriding build.xml build target by adding something like < copy file=".yaml"
    todir="WEB-INF/lib" />

Try googling for more info on changing build.xml.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文