Spring boot tomcat上的Spring boot rest服务部署:找不到jdbc
我的基于SpringBootREST服务MAVEN的应用程序在Eclipse工作区中运行良好。我能够在没有任何问题的情况下发动战争。但是,当我部署到tomcat时,它无法从context.xml绑定我的数据源。具体误差如下 原因:javax.naming.NameNotFoundException:Name[jdbc/MyDB]未在此上下文中绑定。找不到[jdbc]。 位于org.apache.naming.NamingContext.lookup(NamingContext.java:817) 以下是我根据stackoverflow上的其他帖子所做的工作Spring boot tomcat上的Spring boot rest服务部署:找不到jdbc,spring-boot,Spring Boot,我的基于SpringBootREST服务MAVEN的应用程序在Eclipse工作区中运行良好。我能够在没有任何问题的情况下发动战争。但是,当我部署到tomcat时,它无法从context.xml绑定我的数据源。具体误差如下 原因:javax.naming.NameNotFoundException:Name[jdbc/MyDB]未在此上下文中绑定。找不到[jdbc]。 位于org.apache.naming.NamingContext.lookup(NamingContext.java:817)
<context>
<Resource name="jdbc/MyDB" auth="Container" type="javax.sql.DataSource"
username="uid" password="pwd" driverClassName="net.sourceforge.jtds.jdbc.Driver"
url="jdbc:jtds:sqlserver://myserver:1433/mydatabase" maxActive="8"
maxIdle="4" validationQuery="select 1" />
<ResourceLink name="jdbc/MyDB"
global="jdbc/MyDB"
type="javax.sql.DataSource" />
</context>
我需要我部署的tomcat应用程序能够识别上下文xml并建立jndi连接。任何帮助都将不胜感激。呜呜呜!多亏了stackoverflow上的另一篇帖子,我终于找到了答案!!我认为这是我犯过的最愚蠢的错误。在我的上下文xml中,元素“context”应该是大写的“C”,即“context” 感谢这个链接中的家伙
呜呜!多亏了stackoverflow上的另一篇帖子,我终于找到了答案!!我认为这是我犯过的最愚蠢的错误。在我的上下文xml中,元素“context”应该是大写的“C”,即“context” 感谢这个链接中的家伙
<build>
<resources>
<resource>
<!-- this is relative to the pom.xml directory -->
<directory>${project.basedir}/src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<configuration>
<mainClass>com.passg.springboot.SpringBootRestApiApp</mainClass>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd">
<bean id="myDataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="java:comp/env/jdbc/MyDB"/>
</bean>
Caused by: javax.naming.NameNotFoundException: Name [jdbc/MyDB] is not bound in this Context. Unable to find [jdbc].
at org.apache.naming.NamingContext.lookup(NamingContext.java:817)
at org.apache.naming.NamingContext.lookup(NamingContext.java:159)
at org.apache.naming.NamingContext.lookup(NamingContext.java:827)
at org.apache.naming.NamingContext.lookup(NamingContext.java:159)
at org.apache.naming.NamingContext.lookup(NamingContext.java:827)
at org.apache.naming.NamingContext.lookup(NamingContext.java:173)
at org.apache.naming.SelectorContext.lookup(SelectorContext.java:163)
at javax.naming.InitialContext.lookup(InitialContext.java:417)
at org.springframework.jndi.JndiTemplate$1.doInContext(JndiTemplate.java:155)
at org.springframework.jndi.JndiTemplate.execute(JndiTemplate.java:87)
at org.springframework.jndi.JndiTemplate.lookup(JndiTemplate.java:152)
at org.springframework.jndi.JndiTemplate.lookup(JndiTemplate.java:179)
at org.springframework.jndi.JndiLocatorSupport.lookup(JndiLocatorSupport.java:95)
at org.springframework.jndi.JndiObjectLocator.lookup(JndiObjectLocator.java:106)
at org.springframework.jndi.JndiObjectFactoryBean.lookupWithFallback(JndiObjectFactoryBean.java:231)
at org.springframework.jndi.JndiObjectFactoryBean.afterPropertiesSet(JndiObjectFactoryBean.java:217)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1648)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1585)
... 110 more