6

Tomcat を見つめていると、次のエラーが表示されます。

SEVERE: Exception looking up UserDatabase under key UserDatabase
javax.naming.NameNotFoundException: Name UserDatabase is not bound in this Context
at org.apache.naming.NamingContext.lookup(NamingContext.java:770)
at org.apache.naming.NamingContext.lookup(NamingContext.java:153)
at org.apache.catalina.realm.UserDatabaseRealm.start(UserDatabaseRealm.java:253)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1049)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463)
at org.apache.catalina.core.StandardService.start(StandardService.java:525)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:754)
at org.apache.catalina.startup.Catalina.start(Catalina.java:595)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
Jul 6, 2012 4:32:25 PM org.apache.catalina.startup.Catalina start

SEVERE: Catalina.start: 
LifecycleException:  No UserDatabase component found under key UserDatabase
at org.apache.catalina.realm.UserDatabaseRealm.start(UserDatabaseRealm.java:261)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1049)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463)
at org.apache.catalina.core.StandardService.start(StandardService.java:525)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:754)
at org.apache.catalina.startup.Catalina.start(Catalina.java:595)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)

以前に Server.xml で同じ dB 構成を使用し、Tomcat は正常に動作していましたが、過去 2 日間サーバーを変更して新しいコピーをインストールすると、このエラーがスローされます。

server.xml で定義されている GlobalNamingResources は次のとおりです。

<GlobalNamingResources>
<Resource name="jdbc/abcdOracle" auth="Container"
type="javax.sql.DataSource" 
maxActive="100" initialSize="5" maxWait="2000" 
username="xxxxxx" password="xxxxxx" 
driverClassName="oracle.jdbc.driver.OracleDriver"
url="jdbc:oracle:thin:@xxxxxx.xxxxxx.net:1523:ABCDE"
validationQuery="select sysdate from dual" 
validationInterval="30000"
testWhileIdle="true" testOnBorrow="true" testOnReturn="false"
removeAbandoned="true" logAbandoned="true"
removeAbandonedTimeout="60" /> 
</GlobalNamingResources>

誰でもこの問題を解決する方法のヒントを持っています。ありがとう。

4

8 に答える 8

7
于 2014-03-08T13:53:47.590 に答える
5

デフォルトで JNDI に登録され ている を削除しましたtomcat-users.xml$CATALINA_BASE/confUserDatabase

于 2012-07-06T20:55:11.487 に答える
2

/var/log/tomcat6/catalina.out のエラー:

GRAVE: Catalina.start:
LifecycleException:  No UserDatabase component found under key UserDatabase

tomcat-users.xml の位置を確認します。

# updatedb
# locate tomcat-users.xml
/etc/tomcat6/tomcat-users.xml

/etc/tomcat6/server.xml を開いて編集します。

<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" /> 

tomcat-users.xml ファイルへの正しいパスを挿入します。私の場合は次のとおりです。

pathname="tomcat-users.xml"
于 2013-11-19T07:41:58.937 に答える
1

これは、tomcat-users.xml ファイルの属性に XML 文字が含まれていることを意味する場合もあります。

たとえば、tomcat-users.xml のユーザーのパスワード フィールドに「<」文字が含まれていると、この問題が発生するのを見てきました。

ファイルの抜粋:

/etc/tomcat6/tomcat-users.xml

<role rolename="manager"/>
<user username="admin" password="<password" roles="manager"/>
于 2013-01-28T13:48:29.917 に答える
0

私の場合、以前に提案された他の解決策を検討した後、それは単なるアクセス許可の問題であることに気付きました。tomcat プロセスを実行しているユーザーに tomcat-users.xml ファイルの所有権を与える必要がありました。

chown tomcat:tomcat $CATALINA_BASE/conf/tomcat-users.xml
于 2021-01-26T18:33:49.687 に答える