当前位置: 首页 > 知识库问答 >
问题:

部署WAR文件时出现Tomcat 7.0.52 JNDI错误

呼延臻
2023-03-14

数据库为:MSSQL 2008 R2 OS=Windows Server 2008 R2

<Resource name="data source name" auth="Container"  type="javax.sql.DataSource" username="myuser" password="abc@xyz"  driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver" url="jdbc:sqlserver://host:1433;databaseName=test1;selectMethod=cursor"  maxWait="30000" maxActive="32" maxIdle="4" initialSize="4"  timeBetweenEvictionRunsMillis="600000" minEvictableIdleTimeMilllis="600000" />
  </GlobalNamingResources>

<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
               resourceName="UserDatabase"/>

错误日志为:

2014年3月12日下午5:19:53 org.apache.catalina.realm.UserDatabaseRealm开始内部严重:异常查找键UserDatabase javax.naming.NameNotFoundException:Name[UserDatabase]下的UserDatabase在此上下文中没有绑定。找不到[UserDatabase]。在org.apache.naming.namingcontext.lookup(namingcontext.java:819)在org.apache.naming.namingcontext.lookup(namingcontext.java:167)在org.apache.catalina.realm.userdatabaseRealm.startinternal(userdatabaseRealm.java:253)在org.apache.catalina.util.lifecyclebase.start(lifecyclebase.java:150)在)在org.apache.catalina.util.lifecyclebase.start(lifecyclebase.java:150)在org.apache.catalina.core.containerbase.startinternal(containerbase.java:1109)在org.apache.catalina.core.standardengine.startinternal(standardengine.java:300)在org.apache.catalina.util.lifecyclebase.start(lifecyclebase.java:150)在.catalina.core.standardserver.startinternal(StandardServer.java:731)atstart(lifecyclebase.java:150)在org.apache.catalina.startup.catalina.startup.catalina.start(catalina.java:689)在sun.reflect.nativeMethodAccessorimpl.invoke0(原生方法)在sun.reflect.nativeMethodAccessorimpl.invoke(未知源)在sun.reflect.nativeMethodAccessorimpl.invoke(未知源)在java.lang.reflect.methodAccessorimpl.invoke爪哇:455)

2014年3月12日下午5:19:53 org.apache.catalina.realm.combineDrealm startInternal严重:未能启动“org.apache.catalina.realm.UserDatabaseRealm/1.0”realm org.apache.catalina.lifecycleException:未能在org.apache.catalina.util.lifecycleBase.start(lifecycleBase.start(lifecycleBase.java:154)在org.apache.catalina.realm.combineDrealm.startInternal(apache.catalina.util.lifecyclebase.start(lifecyclebase.java:150)在org.apache.catalina.core.containerbase.startInternal(containerbase.java:1109)在org.apache.catalina.core.standardengine.java:300)在org.apache.catalina.util.lifecyclebase.startInternal(standardengine.java:150)在org.apache.catalina.util.lifecyclebase.startInternal StandardServer.StartIndistal(StandardServer.java:731)在org.apache.catalina.util.lifecyclebase.start(lifecyclebase.java:150)在org.apache.catalina.startup.catalina.startup.catalina.start(catalina.java:689)在sun.reflect.nativeMethodAccessorImpl.Invoke0(原生方法)在sun.reflect.nativeMethodAccessorImpl.Invoke(未知源)在p.bootstrap.main(bootstrap.java:455)原因:org.apache.catalina.lifecycleException:在org.apache.catalina.realm.userdatabaseRealm.startinternal(userdatabaseRealm.java:262),org.apache.catalina.util.lifecyclebase.start(lifecyclebase.java:150)的键UserDatabase下找不到UserDatabase组件。还有17个

共有1个答案

顾琛
2023-03-14

您已经破坏了server.xml。如果您有一个 指向“userdatabase”,那么您需要有一个名为“userdatabase”的 。以下是默认配置:

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

如果希望将关系数据库用于 ,则需要更改配置以指向该数据库,并且需要使用DataSourceRealM

 类似资料:
  • 我开发了一个springboot war文件来部署到服务器中,但是由于某些原因,我不得不将它部署到xampp的tomcat中,但是我得到了如下错误。我怎么才能修好这个? 信息:validateJarFile(c:\xampp\tomcat\webapps\ipf-2.0.0.rc2\WEB-INF\lib\tomcat-embed-core-8.5.28.jar)-jar未加载。参见Servlet

  • 我已经将Shopizer war文件部署到Tomcat Elastic Beanstalk实例。我已经配置了一个mySQL数据库,据我所知,一切都应该是正确的。问题是当我尝试访问URL时,我收到了502错误。我知道Elastic Beanstalk在60后超时,所以我增加了超时限制,但仍然遇到了问题。 我在我的Catalina.out日志中注意到了这一点。我知道这只是一个警告,但它可能指向我的问题

  • 在“生产模式”(使用Vaadin 19.0.9和gradle)下生成“war”文件(大小为90 MB)后,Tomcat 9.0.52中的部署过程非常慢并显示此错误 这种错误经常发生,但并不总是如此。 tomcat服务器运行在Ubuntu 18上,内存为8gb。java版本为15.0.2(适用于此计算机和用于开发的计算机)。 知道吗?谢谢 PS:这是堆栈跟踪:

  • 该应用程序使用Spring框架,需要一个名为config的环境变量。路径,可以在名为web的文件中配置。xml。看起来是这样的: 我是这样设置的: Mi的问题是,如果我让这些行评论并尝试部署应用程序,我得到这个错误在catalina.out: 但是如果这些行没有注释,tomcat就不会启动,catalina.out显示: 我知道这是关于配置,但我不知道如何继续 注意:从来没有使用过. war文件,

  • 我目前在向我的Tomcat7服务器部署WAR文件时遇到了一个问题(我是java web开发人员的新手)。在eclipse中一切都工作得很好,但是当我生成一个WAR文件并将其部署到服务器时,我会遇到以下错误。“启动组件失败[]”下面是日志转储。

  • 在Ubuntu中通过docker-compose部署MySQL时无法部署;docker-compose.yml文件如下: 我的步骤如下: 1.注释挂载,直接启动mysql 成功 2.复制容器中的/var/lib/mysql到宿主机我希望挂载的地方 3.复制/etc/mysql ,然后编写my.cnf放到宿主机/data/docker/mysql/etc/mysql/conf.d下 4.删除镜像 5