Spring Boot接入New Relic:newrelic.jar路径及POM配置疑问
Spring Boot接入New Relic监控的安装困惑与问题
我们在Windows平台按照New Relic的Spring Boot「引导安装」步骤接入Web API监控时,卡在了最后一步。官方引导步骤如下:
- 向pom文件添加指定代码行
- 下载
newrelic.yml文件 - 添加启动命令:
java -javaagent:/full/path/to/newrelic.jar -jar app.jar
我们原本以为通过POM配置就能把New Relic的代码/JAR包整合进app.jar并加入类路径,但实际操作中产生了一系列疑问:
- 既然已经在POM中配置了相关依赖,为什么启动命令里还要手动指定
newrelic.jar的路径? newrelic.jar的路径该从哪找?按道理POM配置会自动下载安装,但我们完全不知道它被存在了哪里?
如果必须手动把New Relic JAR包放到项目里,那修改POM的意义何在?
如果确实需要手动下载JAR文件:
- 从哪里下载?官方引导里完全没提这一点
- 应该放在项目的哪个位置?我们的项目只有src/main/java、src/main/resources和pom文件这些目录结构,JAR包该放哪?
更新1
按照提示,POM代码的作用是下载JAR包,但执行Maven构建后,只生成了ourmodule/target/classes/newrelic目录,里面只有newrelic.yml文件,完全找不到newrelic.jar。
实在搞不懂官方的「引导安装」为什么这么繁琐,关键信息缺漏太多。
以下是官方引导要求添加到POM的代码:
插件配置
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <version>3.1.1</version> <executions> <execution> <id>unpack-newrelic</id> <phase>package</phase> <goals> <goal>unpack-dependencies</goal> </goals> <configuration> <includeGroupIds>com.newrelic.agent.java</includeGroupIds> <includeArtifactIds>newrelic-java</includeArtifactIds> <!-- you can optionally exclude files --> <!-- <excludes>**/newrelic.yml</excludes> --> <overWriteReleases>false</overWriteReleases> <overWriteSnapshots>false</overWriteSnapshots> <overWriteIfNewer>true</overWriteIfNewer> <outputDirectory>${project.build.directory}</outputDirectory> </configuration> </execution> </executions> </plugin>
依赖配置
<dependency> <groupId>com.newrelic.agent.java</groupId> <artifactId>newrelic-java</artifactId> <version>8.12.0</version> <scope>provided</scope> <type>zip</type> </dependency>
内容的提问来源于stack exchange,提问作者John Little
相关产品推荐
相关产品推荐

