以下Tomcat错误的原因是什么:

时间:2013-01-01 15:23:47

标签: java tomcat

我正在为一个solr应用程序运行Tomcat服务器。我重新启动服务器并在catalina.out中观察到以下错误。

Exception configuring digester to permit java encoding names in XML files. Only IANA encoding names will be supported.

此错误的含义是什么以及如何解决?我根本不知道Java,所以任何帮助都将不胜感激。这是CentOs上的Tomcat6。

编辑日志文件:

Jan 1, 2013 10:14:44 a.m. org.apache.catalina.users.MemoryUserDatabase open
WARNING: Exception configuring digester to permit java encoding names in XML files. Only IANA encoding names will be supported.
 org.xml.sax.SAXNotSupportedException: http://apache.org/xml/features/allow-java-encodings
  at gnu.xml.stream.SAXParserFactory.setFeature(libgcj.so.10)
 at org.apache.tomcat.util.digester.Digester.setFeature(Digester.java:556)
  at org.apache.catalina.users.MemoryUserDatabase.open(MemoryUserDatabase.java:391)
  ............

  Jan 1, 2013 10:14:44 a.m. org.apache.catalina.core.StandardService start
   INFO: Starting service Catalina
    Jan 1, 2013 10:14:44 a.m. org.apache.catalina.core.StandardEngine start
   INFO: Starting Servlet Engine: Apache Tomcat/6.0.24
  Jan 1, 2013 10:14:44 a.m. org.apache.catalina.startup.HostConfig deployDescriptor
   INFO: Deploying configuration descriptor manager.xml
   Jan 1, 2013 10:14:45 a.m. org.apache.catalina.startup.TldConfig lifecycleEvent
   SEVERE: Error processing TLD files for context path /manager
    java.lang.IllegalArgumentException: URI "file:./" is not hierarchical
     at java.io.File.<init>(libgcj.so.10)
  at org.apache.catalina.startup.TldConfig.getJarPaths(TldConfig.java:687)
  at org.apache.catalina.startup.TldConfig.execute(TldConfig.java:281)

   ...........

    Jan 1, 2013 10:14:45 a.m. org.apache.catalina.startup.HostConfig deployDescriptor
    INFO: Deploying configuration descriptor solr.xml
    Jan 1, 2013 10:14:45 a.m. org.apache.catalina.startup.TldConfig lifecycleEvent
    SEVERE: Error processing TLD files for context path /solr
    java.lang.IllegalArgumentException: URI "file:./" is not hierarchical
    at java.io.File.<init>(libgcj.so.10)
    at org.apache.catalina.startup.TldConfig.getJarPaths(TldConfig.java:687)
    at org.apache.catalina.startup.TldConfig.execute(TldConfig.java:281)
   at org.apache.catalina.startup.TldConfig.lifecycleEvent(TldConfig.java:739)
   at 
    .........
   Jan 1, 2013 10:14:45 a.m. org.apache.solr.core.SolrResourceLoader locateSolrHome
   INFO: Using JNDI solr.home: /var/lib/tomcat6/my/solr/
    Jan 1, 2013 10:14:45 a.m. org.apache.solr.core.SolrResourceLoader <init>
    INFO: new SolrResourceLoader for deduced Solr Home: '/var/lib/tomcat6/my/solr/'
  Jan 1, 2013 10:14:45 a.m. org.apache.solr.servlet.SolrDispatchFilter init
   INFO: SolrDispatchFilter.init()
  Jan 1, 2013 10:14:45 a.m. org.apache.solr.core.SolrResourceLoader locateSolrHome
  INFO: Using JNDI solr.home: /var/lib/tomcat6/my/solr/
    Jan 1, 2013 10:14:45 a.m. org.apache.solr.core.CoreContainer$Initializer initialize
   INFO: looking for solr.xml: /var/lib/tomcat6/my/solr/solr.xml
    Jan 1, 2013 10:14:45 a.m. org.apache.solr.core.CoreContainer load
   INFO: Loading CoreContainer using Solr Home: '/var/lib/tomcat6/my/solr/'
    Jan 1, 2013 10:14:45 a.m. org.apache.solr.core.SolrResourceLoader <init>
   INFO: new SolrResourceLoader for directory: '/var/lib/tomcat6/my/solr/'
   Jan 1, 2013 10:14:45 a.m. org.apache.solr.core.CoreContainer create
  INFO: Creating SolrCore '' using instanceDir: /var/lib/tomcat6/my/solr/. 
  Jan 1, 2013 10:14:45 a.m. org.apache.solr.core.SolrResourceLoader <init>
   INFO: new SolrResourceLoader for directory: '/var/lib/tomcat6/my/solr/./'
    Jan 1, 2013 10:14:45 a.m. org.apache.solr.core.SolrConfig initLibs
     INFO: Adding specified lib dirs to ClassLoader
    Jan 1, 2013 10:14:45 a.m. org.apache.solr.common.SolrException log
  SEVERE: Error in xpath:javax.xml.xpath.XPathExpressionException: multiple nodes in  node-set

我正在使用它作为solr

1 个答案:

答案 0 :(得分:0)

试试看这里:

http://www.coderanch.com/t/614743/Tomcat/Tomcat-CentOS-VM

我的问题是发现catalina.sh脚本的Java安装并不好。不知道为什么我没有调查。

这是一个centos 6 tomcat6 RPM安装。解决方法是安装Oracle JDK并更改/etc/tomcat6/tomcat6.conf以使用新安装的Oracle JDK。