当前位置: 首页 > 知识库问答 >
问题:

Heroku新遗迹附加Java应用程序无法打开newrelic.jar

金秦斩
2023-03-14

我下载了New Relic 2.12.0,并根据Heroku java配置文档对其进行了配置。

我将包内容解压缩到spring mvc应用程序目录的根目录,如下图所示

接下来,我将新文件推送到Heroku:

$ git add newrelic
$ git commit -m 'add newrelic'
$ git push heroku master

最后,我启动了new relic代理:

$ heroku config:add JAVA_OPTS='-Xmx384m -Xss512k -XX:+UseCompressedOops -javaagent:newrelic/newrelic.jar'

之后,我的应用程序失败,出现以下错误,似乎无法找到newrelic.jar文件。

new relic文档说JVM参数(例如-javaagent:newrelic/newrelic.jar)应该包括到newrelic的完整路径。jar文件,但根据Heroku文档,-javaagent:newrelic/newrelic。罐子就是所需要的一切。

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文件排除了阻止newrelic的jar文件。正在部署的jar文件。

<<<<<<< HEAD
/target
/.classpath
/.project
/.settings
/tomcat.*
/.idea
/*.iml
=======
*.class

# Package Files #
*.jar
*.war
*.ear

共有2个答案

全丰
2023-03-14

目标/依赖项文件夹中丢失的jar文件也有同样的问题

对我来说,问题是pom文件(由Heroku示例提供)

这是我的工作POM:

                <executions>
                 <execution>
                    <phase>package</phase>
                    <goals>
                        <goal>copy</goal>
                    </goals>
                    <configuration>
                        <artifactItems>
                            <artifactItem>
                                <groupId>org.eclipse.jetty</groupId>
                                <artifactId>jetty-runner</artifactId>
                                <version>9.2.3.v20140905</version>
                                <destFileName>jetty-runner.jar</destFileName>
                            </artifactItem>
                            <artifactItem>
                                <groupId>com.newrelic.agent.java</groupId>
                                <artifactId>newrelic-agent</artifactId>
                                <version>3.12.0</version>
                                <destFileName>newrelic-agent.jar</destFileName>
                            </artifactItem>
                        </artifactItems>
                    </configuration>
                  </execution>
                </executions>

当然,还可以添加新的Relic作为依赖项。。。

        <dependency>
           <groupId>com.newrelic.agent.java</groupId>
           <artifactId>newrelic-api</artifactId>
           <version>3.12.0</version>
        </dependency>
庄博厚
2023-03-14

您是否可能在您的中留下了一些东西。gitignore忽略JAR的文件?如果你运行bash,然后运行ls newrelic,你看到里面的罐子了吗?

 类似资料:
  • 部署在Heroku上的Rails应用程序无法加载。我设置了数据库迁移,我还有puma和procfile。。。我真的不知道。 这是我的日志: 宝石文件 程序文件 配置/puma.rb 工人整数(ENV['WEB_CONCURRENCY']||2)threads_count=整数(ENV['RAILS_MAX_THREADS']||5)线程threads_count,threads_count pre

  • 我甚至不使用新的遗迹,我得到了他们的错误。事情就这么突然发生了。 我使用的是最新的Android Studio构建(0.61)。就连我的主分支也有同样的错误。我的机器上有其他项目使用新的遗迹,但不是这个。这个项目没有使用新的遗迹在任何方式,与其说是一个任性的梯度依赖。 项目的build.gradle: 编辑 该项目现在在建筑中导入新的遗迹。根据用户的建议。这解决了这个问题,但我仍在探索为什么,因为

  • 最近,我们将tomcat/Spring应用程序转换为Spring boot。除了新遗迹之外,一切都很好。有没有一种方法可以让我很容易地使用Spring Boot项目配置新遗迹。我不想硬编码新遗迹代理jar路径的位置,然后使用该路径运行Spring Boot项目。 编辑:Spring boot项目使用maven

  • 我在Maven集成测试中使用New relic,有时在VM-javaagent上使用confirugraiton运行集成测试和代理时使用/path/to/newrelic。jar正在运行,我收到此异常 有人知道这个问题吗? 当做

  • 我甚至不使用新的遗物,我得到错误的他们。只是突然发生了。 我使用的是最新的Android Studio版本(0.61)。甚至我的主分支也有同样的错误。在我的机器上有其他的项目使用新的遗迹,但没有这一个。这个项目不使用新的遗迹在任何方式,更多的是一个任性的梯度依赖。 我试着清理我的gradle缓存,重新下载所有的第三方库,没有工作。 编辑 该项目现在根据用户建议在Build.Gradle中导入新的遗

  • 我正在用mssql数据库开发一个java Spring Hibernate应用程序。但是我无法与mssql数据库建立连接。 [请求处理失败;嵌套异常为org.springframework.transaction.CanNotCreateTransactionException:无法打开事务的Hibernate会话;嵌套异常为org.Hibernate.exception.GenericJDBcE