首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >java newrelic代理抛出classnotfound异常

java newrelic代理抛出classnotfound异常
EN

Stack Overflow用户
提问于 2014-03-10 23:11:22
回答 2查看 515关注 0票数 0

我正在尝试在装有tomcat7的linux机器上安装newrelic。这个安装没有catalina.sh,所以不能使用newrelic安装程序。

我尝试了manula方法,将newrelic.jar添加到javaagent中,如下所示:

代码语言:javascript
复制
CATALINA_OPTS="$CATALINA_OPTS -javaagent:/usr/share/tomcat7/newrelic/newrelic.jar"

但是每当我启动tomcat时,我都会得到下面的classnotfoundexception:

代码语言:javascript
复制
Unable to start New Relic agent: javax.xml.transform.TransformerFactoryConfigurationError: Provider org.apache.xalan.processor.TransformerFactoryImpl not found
javax.xml.transform.TransformerFactoryConfigurationError: Provider org.apache.xalan.processor.TransformerFactoryImpl not found
        at javax.xml.transform.TransformerFactory.newInstance(TransformerFactory.java:106)
        at com.newrelic.agent.extension.dom.ExtensionDomParser.getTransformerFactory(ExtensionDomParser.java:360)
        at com.newrelic.agent.extension.dom.ExtensionDomParser.fixNamespace(ExtensionDomParser.java:337)
        at com.newrelic.agent.extension.dom.ExtensionDomParser.parseDocument(ExtensionDomParser.java:167)
        at com.newrelic.agent.extension.dom.ExtensionDomParser.readFile(ExtensionDomParser.java:152)
        at com.newrelic.agent.extension.ExtensionParsers$3.parse(ExtensionParsers.java:46)
        at com.newrelic.agent.extension.JarExtension.<init>(JarExtension.java:59)
        at com.newrelic.agent.extension.JarExtension.<init>(JarExtension.java:104)
        at com.newrelic.agent.extension.ExtensionService.initializeBuiltInExtensions(ExtensionService.java:388)
        at com.newrelic.agent.extension.ExtensionService.doStart(ExtensionService.java:145)
        at com.newrelic.agent.service.AbstractService.start(AbstractService.java:54)
        at com.newrelic.agent.service.ServiceManagerImpl.doStart(ServiceManagerImpl.java:124)
        at com.newrelic.agent.service.AbstractService.start(AbstractService.java:54)
        at com.newrelic.agent.Agent.premain(Agent.java:208)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:622)
        at com.newrelic.bootstrap.BootstrapAgent.premain(BootstrapAgent.java:117)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:622)
        at sun.instrument.InstrumentationImpl.loadClassAndStartAgent(InstrumentationImpl.java:343)
        at sun.instrument.InstrumentationImpl.loadClassAndCallPremain(InstrumentationImpl.java:358)
Caused by: java.lang.ClassNotFoundException: org/apache/xalan/processor/TransformerFactoryImpl
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:270)
        at javax.xml.transform.FactoryFinder.getProviderClass(FactoryFinder.java:124)
        at javax.xml.transform.FactoryFinder.newInstance(FactoryFinder.java:179)

我已经尝试了我能做到的一切,但都不起作用。我甚至手动将xalan jar添加到tomcat库中,但没有成功。

EN

回答 2

Stack Overflow用户

发布于 2014-03-10 23:32:58

你需要确保你已经安装了xalan.jar。如果安装了它,它可能放在了错误的位置。你可能在容器级别需要它,这里有一篇博客文章讨论了这个问题(tomcat5,但大多数建议仍然适用)。

http://doookstechstuff.blogspot.com/2010/04/how-to-fix-tomcat5-on-rhel5.html

票数 0
EN

Stack Overflow用户

发布于 2014-03-11 02:49:50

确保放置xalan.jar的位置在类路径中,并且运行tomcat的用户帐户有权访问它。如果您已将其放在tomcat /lib文件夹中,请确保.jar文件的perm与该文件夹中的其他对象相匹配。

如果这有帮助,请让我们知道。如果您需要更多信息,最好是使用New Relic Support (http://support.newrelic.com)创建一个票证。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22303943

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档