簡體   English   中英

用於Java App的Heroku New Relic附加組件無法打開newrelic.jar

[英]Heroku New Relic Add-on for Java App fails to open newrelic.jar

下載了 New Relic 2.12.0並根據Heroku java配置文檔對其進行了配置

我將包內容解壓縮到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 ,您看到那里的罐子了嗎?

在target / dependency文件夾中缺少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>

當然也可以將New Relic添加為依賴項...

        <dependency>
           <groupId>com.newrelic.agent.java</groupId>
           <artifactId>newrelic-api</artifactId>
           <version>3.12.0</version>
        </dependency>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM