我downloaded New Relic 2.12.0并根据Heroku java configuration文档对其进行了配置。
我将包内容解压缩到spring mvc应用程序目录的根目录,如下图所示
接下来,我将新文件推送到Heroku:
$ git add newrelic
$ git commit -m 'add newrelic'
$ git push heroku master
最后,我引导了新的遗物代理:
$ heroku config:add JAVA_OPTS='-Xmx384m -Xss512k -XX:+UseCompressedOops -javaagent:newrelic/newrelic.jar'
之后,我的应用程序失败,并出现以下错误,并且似乎无法找到newrelic.jar文件。
新的遗物文档说JVM args(例如-javaagent:newrelic / newrelic.jar)应包含newrelic.jar文件的完整路径,但根据Heroku文档,仅需-javaagent:newrelic / newrelic.jar。 。
2013-01-15T19:41:11+00:00 heroku[web.1]: Starting process with command `java -Xmx384m -Xss512k -XX:+UseCompressedOops -javaagent:newrelic/newrelic.jar -Dspring.profiles.active=prod -jar target/dependency/webapp-runner.jar --port 47412 target/*.war`
2013-01-15T19:41:11+00:00 app[web.1]: agent library failed to init: instrument
2013-01-15T19:41:11+00:00 app[web.1]: Error occurred during initialization of VM
2013-01-15T19:41:11+00:00 app[web.1]: Error opening zip file or JAR manifest missing : newrelic/newrelic.jar
2013-01-15T19:41:12+00:00 heroku[web.1]: Process exited with status 1
2013-01-15T19:41:12+00:00 heroku[web.1]: State changed from starting to crashed
更新
在检查我的Web dyno上的newrelic目录之后,我注意到jar文件丢失了。现在,我正在寻找导致jar文件丢失的原因。
更新资料
我的应用程序目录根目录中的.gitignore文件不包括jar文件,这阻止了newrelic.jar文件的部署。
<<<<<<< HEAD
/target
/.classpath
/.project
/.settings
/tomcat.*
/.idea
/*.iml
=======
*.class
# Package Files #
*.jar
*.war
*.ear
最佳答案
您是否可能在.gitignore
文件中留下了一些忽略jar的内容?如果先heroku run bash
然后ls newrelic
,您是否在其中看到了罐子?