2013-04-12 5 views
2

При запуске Tomcat я получаю это исключение.Исключение при запуске Tomcat

Кроме того, Tomcat работает нормально. Тем не менее, мне не нравятся исключения в моей консоли, и мои поисковые запросы Google не привели к соответствующим результатам, поэтому помощь будет принята с благодарностью. Благодаря

Listening for transport dt_socket at address: 8787 
Handler error 
java.lang.ClassNotFoundException: startup 
     at java.net.URLClassLoader$1.run(URLClassLoader.java:200) 
     at java.security.AccessController.doPrivileged(Native Method) 
     at java.net.URLClassLoader.findClass(URLClassLoader.java:188) 
     at java.lang.ClassLoader.loadClass(ClassLoader.java:306) 
     at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276) 
     at java.lang.ClassLoader.loadClass(ClassLoader.java:251) 
     at org.apache.juli.ClassLoaderLogManager.readConfiguration(ClassLoaderLogManager.java:521) 
     at org.apache.juli.ClassLoaderLogManager.readConfiguration(ClassLoaderLogManager.java:464) 
     at org.apache.juli.ClassLoaderLogManager.readConfiguration(ClassLoaderLogManager.java:288) 
     at java.util.logging.LogManager$2.run(LogManager.java:258) 
     at java.security.AccessController.doPrivileged(Native Method) 
     at java.util.logging.LogManager.readPrimordialConfiguration(LogManager.java:256) 
     at java.util.logging.LogManager.getLogManager(LogManager.java:239) 
     at java.util.logging.Logger.<init>(Logger.java:221) 
     at java.util.logging.LogManager$RootLogger.<init>(LogManager.java:973) 
     at java.util.logging.LogManager$RootLogger.<init>(LogManager.java:970) 
     at java.util.logging.LogManager$1.run(LogManager.java:179) 
     at java.security.AccessController.doPrivileged(Native Method) 
     at java.util.logging.LogManager.<clinit>(LogManager.java:156) 
     at java.util.logging.Logger.getLogger(Logger.java:274) 
     at org.apache.juli.logging.impl.Jdk14Logger.getLogger(Jdk14Logger.java:181) 
     at org.apache.juli.logging.impl.Jdk14Logger.<init>(Jdk14Logger.java:61) 
     at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
     at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) 
     at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) 
     at java.lang.reflect.Constructor.newInstance(Constructor.java:513) 
     at org.apache.juli.logging.impl.LogFactoryImpl.createLogFromClass(LogFactoryImpl.java:1116) 
     at org.apache.juli.logging.impl.LogFactoryImpl.discoverLogImplementation(LogFactoryImpl.java:914) 
     at org.apache.juli.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:604) 
     at org.apache.juli.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:336) 
     at org.apache.juli.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:310) 
     at org.apache.juli.logging.LogFactory.getLog(LogFactory.java:685) 
     at org.apache.catalina.startup.Bootstrap.<clinit>(Bootstrap.java:60) 
log4j:WARN No appenders could be found for logger (org.apache.catalina.startup.Catalina). 
log4j:WARN Please initialize the log4j system properly. 
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info. 

Редактировать Содержимое server.xml:

<?xml version='1.0' encoding='utf-8'?> 

<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" /> 
<Listener className="org.apache.catalina.core.JasperListener" /> 
<Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" /> 
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" /> 
<Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" /> 
<Listener className="com.atomikos.tomcat.AtomikosLifecycleListener" /> 

<GlobalNamingResources> 
    <Resource name="UserDatabase" auth="Container" type="org.apache.catalina.UserDatabase" 
     description="User database that can be updated and saved" 
     factory="org.apache.catalina.users.MemoryUserDatabaseFactory" pathname="conf/tomcat-users.xml" /> 
</GlobalNamingResources> 

<Service name="Catalina"> 
    <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> 
    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> 

    <Engine name="Catalina" defaultHost="localhost"> 
     <Realm className="org.apache.catalina.realm.LockOutRealm"> 
      <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase" /> 
     </Realm> 

     <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"> 
      <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" 
       prefix="localhost_access_log." suffix=".txt" pattern="%h %l %u %t &quot;%r&quot; %s %b" /> 
     </Host> 
    </Engine> 
</Service> 

* Редактирование 2 *

Вот что я получил в файле logging.properties:

handlers = startup 
.handlers = startup, java.util.logging.ConsoleHandler 

############################################################ 
# Handler specific properties. 
# Describes specific configuration info for Handlers. 
############################################################ 

startup.level = FINE 
startup.directory = ${catalina.base}/logs 
startup.prefix = startup. 

java.util.logging.ConsoleHandler.level = FINE 
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter 
+1

startup похоже на класс с не-капитальным запуском и в пакете по умолчанию. Я предполагаю, что это один из твоих? – Miquel

+0

Пожалуйста, напишите больше деталей конфигурации, например server.xml или web.xml. – Stefan

+0

Насколько я знаю, нет класса под названием «стартап». Это делает то же самое, даже если я не развертываю на нем какие-либо из моих приложений, но это модифицированный Tomcat - только я не знаю точно, что было изменено. – ccc

ответ

1

С момента своего говоря Handler error я чувствую, что есть какая-то проблема в вашей кот-х conf/logging.properties.

В частности, обратите внимание на любые случайные записи в первых двух строках этого файла. По умолчанию это

handlers = 1catalina.org.apache.juli.FileHandler, 2localhost.org.apache.juli.FileHandler, 
3manager.org.apache.juli.FileHandler, 4host-manager.org.apache.juli.FileHandler, 
java.util.logging.ConsoleHandler 

.handlers = 1catalina.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler 
+0

Спасибо за предложение. Я отредактировал мой вопрос, чтобы добавить часть содержимого logging.properties. Я полагаю, что «запуск» в нем вызывает то, что вызывает проблему, но я не был тем, кто добавил его, и я не играл с этими конфигами раньше, поэтому я не знаю, что они должны делать. – ccc

+0

Очевидно, что строка 'handler = startup' неверна, и с этой строкой вы всегда будете получать исключение при запуске tomcat, так как нет такого класса с именем' startup'. Кто бы ни редактировал этот файл свойств, явно делает это неправильно. Замените эту строку некоторыми записями по умолчанию, такими как тот, который я упомянул, и ваш сервер начинает нормально –

+0

Yeap. Это и ошибка исчезла. Я все равно хотел бы узнать, что делает человек, который намеревался сделать, если бы я мог найти того, кто это сделал. В любом случае спасибо за помощь. Я смотрел в других конфигурационных файлах, но по какой-то причине я не думал искать в logging.properties. – ccc

Смежные вопросы