前提・実現したいこと
SpringMVCにてJDBCTemplateを用いたデータベース接続をしたいのですが上手くいきません。
EclipseにてTomcatを起動すると以下のエラーメッセージが表示されてしまいます。
発生している問題・エラーメッセージ
ERROR: org.springframework.web.context.ContextLoader - Context initialization failed java.lang.ArrayIndexOutOfBoundsException: 55159 at org.springframework.asm.ClassReader.<init>(Unknown Source) at org.springframework.asm.ClassReader.<init>(Unknown Source) at org.springframework.asm.ClassReader.<init>(Unknown Source) at org.springframework.core.LocalVariableTableParameterNameDiscoverer.inspectClass(LocalVariableTableParameterNameDiscoverer.java:112) at org.springframework.core.LocalVariableTableParameterNameDiscoverer.getParameterNames(LocalVariableTableParameterNameDiscoverer.java:86) at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:193) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1035) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:939) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:485) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456) at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193) at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:585) at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:913) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:464) at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:385) at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:284) at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:111) at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4643) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5109) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1427) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1417) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134) at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:943) at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:839) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1427) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1417) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134) at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:943) at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:258) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) at org.apache.catalina.core.StandardService.startInternal(StandardService.java:422) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:770) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) at org.apache.catalina.startup.Catalina.start(Catalina.java:682) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:350) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:492) 重大: クラス [org.springframework.web.context.ContextLoaderListener] のリスナインスタンスにコンテキスト初期化イベントを送信中の例外です [日 6 07 16:48:18 JST 2020] 重大: One or more listeners failed to start. Full details will be found in the appropriate container log file [日 6 07 16:48:18 JST 2020] 重大: 以前のエラーのためにコンテキストの起動が失敗しました [/app] [日 6 07 16:48:18 JST 2020] 情報: Closing Spring root WebApplicationContext [日 6 07 16:48:18 JST 2020] 情報: Starting ProtocolHandler ["http-nio-8080"] [日 6 07 16:48:18 JST 2020] 情報: Starting ProtocolHandler ["ajp-nio-8009"] [日 6 07 16:48:18 JST 2020] 情報: Server startup in 12152 ms [日 6 07 16:48:18 JST 2020] 情報: 不正なアクセス: このWebアプリケーションのインスタンスは既に停止されています Could not load []. 不正なアクセスを引き起こしたスレッドを終了させ、投げられたエラーによりデバッグ用に次のスタックトレースが生成されましたが,機能に影響はありません [日 6 07 16:48:23 JST 2020]
該当のソースコード
root
1<?xml version="1.0" encoding="UTF-8"?> 2<beans xmlns="http://www.springframework.org/schema/beans" 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 4 xsi:schemaLocation="http://www.springframework.org/schema/beans https://www.springframework.org/schema/beans/spring-beans.xsd"> 5 6 <bean id="dataSource" 7 class="org.springframework.jdbc.datasource.DriverManagerDataSource"> 8 <property name="driverClassName"> 9 <value>com.mysql.jdbc.Driver</value> 10 </property> 11 <property name="url"> 12 <value>jdbc:mysql://127.0.0.1:3306/test</value> 13 </property> 14 <property name="username"> 15 <value>root</value> 16 </property> 17 <property name="password"> 18 <value>root</value> 19 </property> 20 </bean> 21 22 <bean class="org.springframework.jdbc.core.JdbcTemplate"> 23 <constructor-arg ref="dataSource" /> 24 </bean> 25</beans> 26
試したこと
root-context.xmlの以下の定義をコメントアウトするとTomcatが起動する事を確認出来ているのですが、
以下の定義がある事でなぜエラーが発生しているのかの原因が不明です。
root
1 <bean class="org.springframework.jdbc.core.JdbcTemplate"> 2 <constructor-arg ref="dataSource" /> 3 </bean>
補足情報(FW/ツールのバージョンなど)
- Eclipse4.8.0
- Spring3.1.1
- Java1.8
- Tomcat8.5
あなたの回答
tips
プレビュー