2017-07-13 44 views
-2

(ご注意:それを削除するには、管理者の助けであれば感謝し、ここに投稿することは適切でない場合はありがとうございました。)プログラムは、Windows Server 2008 R2で動作しますが、Windowsサーバー2012 R2では動作しません

背景:ありWindowsサーバー2008 r2のtomcat 8にデプロイされたアプリケーション。現在、サーバーが稼働しており、アプリケーションが正常に実行されています。チームリーダーは、2年前に既に会社を辞任したプログラマーが申請書を書いていると語った。プログラマーの辞任後にプログラムにコードの変更はありません。

何らかの理由で、Windows Server 2008 R2をWindows Server 2012 R2に変更(アップグレード)する必要があります。

アプリケーションには、java 1.7とtomcat 8が必要です。Windows server 2012 r2にこれらのソフトウェアをインストールしました。

windows server 2008 r2からwarファイルをコピーし、windows server 2012 r2に貼り付けます。 warファイルをコピーして貼り付けた後、tomcat Webアプリケーションマネージャにwarファイルをデプロイします(windows server 2008 r2と同じ動作)。

warファイルをデプロイしたら、アプリケーションを起動しようとします。しかし、 "Start"ボタンをクリックすると、しばらく待つと、tomcatメッセージに "FAIL - コンテキストパス/パス名のアプリケーションを起動できませんでした"と表示されます。

ソフトウェアのバージョンを確認しました.Windows Server 2008 R2と同じです。

warファイルがWindows Server 2008 r2で動作するため、メッセージが混乱します。

localhost.2017-07-13.logファイルを確認して、いくつかの例外があることがわかりました。私たちはここにログの内容を投稿したいと思います。

13-Jul-2017 15:00:42.464 INFO [http-nio-8080-exec-8] 
org.apache.catalina.core.ApplicationContext.log Initializing Spring root 
WebApplicationContext 
13-Jul-2017 15:00:43.214 SEVERE [http-nio-8080-exec-8] 
org.apache.catalina.core.StandardContext.listenerStart Exception sending 
context initialized event to listener instance of class 
org.springframework.web.context.ContextLoaderListener 
org.springframework.beans.factory.BeanCreationException: Error creating bean 
with name 'dataSource' defined in ServletContext resource [/WEB- 
INF/applicationContext.xml]: Error setting property values; nested exception 
is org.springframework.beans.PropertyBatchUpdateException; nested 
PropertyAccessExceptions (1) are: 
PropertyAccessException 1: 
org.springframework.beans.MethodInvocationException: Property 
'driverClassName' threw exception; nested exception is 
java.lang.IllegalStateException: Could not load JDBC driver class 
[net.sourceforge.jtds.jdbc.Driver] 
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.app 
lyPropertyValues(AbstractAutowireCapableBeanFactory.java:1279) 
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.pop 
ulateBean(AbstractAutowireCapableBeanFactory.java:1010) 
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doC 
reateBean(AbstractAutowireCapableBeanFactory.java:472) 
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.r 
un(AbstractAutowireCapableBeanFactory.java:409) 
at java.security.AccessController.doPrivileged(Native Method) 
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.cre 
ateBean(AbstractAutowireCapableBeanFactory.java:380) 
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(Abstra 
ctBeanFactory.java:264) 
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingle 
ton(DefaultSingletonBeanRegistry.java:222) 
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(Abstract 
BeanFactory.java:261) 
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBe 
anFactory.java:185) 
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBe 
anFactory.java:164) 
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstanti 
ateSingletons(DefaultListableBeanFactory.java:429) 
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactory 
Initialization(AbstractApplicationContext.java:728) 
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractA 
pplicationContext.java:380) 
at org.springframework.web.context.ContextLoader.createWebApplicationContext(Contex 
tLoader.java:244) 
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextL 
oader.java:187) 
at org.springframework.web.context.ContextLoaderListener.contextInitialized(Context 
LoaderListener.java:49) 
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4729 
) 
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5167 
) 
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:725) 
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:701) 
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:717) 
at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:945) 
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:466) 
at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1556) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
at java.lang.reflect.Method.invoke(Unknown Source) 
at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:300) 
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(Unknown Source) 
at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(Unknown Source) 
at org.apache.catalina.manager.ManagerServlet.check(ManagerServlet.java:1460) 
at org.apache.catalina.manager.HTMLManagerServlet.upload(HTMLManagerServlet.java:289) 
at org.apache.catalina.manager.HTMLManagerServlet.doPost(HTMLManagerServlet.java:210) 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:648) 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729) 
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291) 
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
at org.apache.catalina.filters.CsrfPreventionFilter.doFilter(CsrfPreventionFilter.java:213) 
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) 
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) 
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) 
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
at org.apache.catalina.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:108) 
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) 
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219) 
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106) 
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:614) 
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142) 
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) 
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:617) 
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88) 
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:518) 
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1091) 
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:668) 
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1521) 
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1478) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 
at java.lang.Thread.run(Unknown Source) 
Caused by: org.springframework.beans.PropertyBatchUpdateException; nested 
PropertyAccessExceptions (1) are: 
PropertyAccessException 1: 
org.springframework.beans.MethodInvocationException: Property 
'driverClassName' threw exception; nested exception is 
java.lang.IllegalStateException: Could not load JDBC driver class 
[net.sourceforge.jtds.jdbc.Driver] 
at org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPro 
pertyAccessor.java:104) 
at org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPro 
pertyAccessor.java:59) 
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.app 
lyPropertyValues(AbstractAutowireCapableBeanFactory.java:1276) 
... 64 more 

Windows Server 2008 r2でプログラムが動作する理由はわかりませんが、Windows Server 2012 r2では動作しません。

現在、私たちはまだプログラムのソースコードを見つけ出していますが、ログファイルからは[/WEB-INF/applicationContext.xml]と[net.sourceforge.jtds.jdbc.Driver]について言及していますが、私たちはソースコードを取得し、xmlファイルとドライバを見つける必要があります、それは正しいですか?

お気軽にご相談ください。ありがとうございました。

編集

我々だけで、ソースコードを見つけて、私たちはapplicationContext.xmlをを開き、net.sourceforge.jtds.jdbc.Driverのための豆があります。なぜWindows server 2012 r2で動作しないのか分かりません。ここで

コードです:

<?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:aop="http://www.springframework.org/schema/aop" 
    xmlns:tx="http://www.springframework.org/schema/tx" 
    xmlns:jee="http://www.springframework.org/schema/jee" 
    xsi:schemaLocation="http://www.springframework.org/schema/beans 
         http://www.springframework.org/schema/beans/spring-beans-2.5.xsd 
         http://www.springframework.org/schema/tx 
         http://www.springframework.org/schema/tx/spring-tx-2.5.xsd 
         http://www.springframework.org/schema/aop 
         http://www.springframework.org/schema/aop/spring-aop-2.5.xsd 
         http://www.springframework.org/schema/jee 
         http://www.springframework.org/schema/jee/spring-jee-2.5.xsd"> 

<bean class="org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor" /> 

<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> 
    <property name="driverClassName" value="net.sourceforge.jtds.jdbc.Driver" /> 


    <property name="url" value="jdbc:jtds:sqlserver://{host}:1433;DatabaseName=myDB" /> 

    <property name="username" value="user" /> 
    <property name="password" value="Password" /> 
</bean> 

</beans> 
+0

なぜ* reguardin win server 2008/2012に* SQL * Serverタグをタグ付けしましたか? – sepupic

+0

@sepupic、あなたのコメントありがとうございます。投稿のタグを更新しました。 – beginner

+0

Windowsサーバーではなく、まだWindowsサーバーではありません – sepupic

答えて

1

あなたは(強調鉱山を)言う

アプリケーションの実行には、Java 1.7とTomcat 8が必要ですので、私たちはは、Windows Server 2012に それらのソフトウェアをインストールr2。

We Windowsサーバ2008 r2からwarファイルをコピーして、ウィンドウに貼り付けてください。 server 2012 r2。warファイルをコピーして貼り付けた後、tomcat Webアプリケーションマネージャにwar ファイルをデプロイします(Windowsの場合と同じ操作 server 2008 r2)。

エラーメッセージが言う

java.lang.IllegalStateException:JDBCドライバクラス [net.sourceforge.jtds.jdbc.Driver]

手段をロードできませんでした:あなたがやりました元の実装を十分に再現できません。あなたはこのドライバ(単に失敗する可能性があります)以上のものを逃す可能性があるので、私は両方のディレクトリの完全なdiffを提案しています。両方のインストールで展開されているものを見つけてください。

ヒント:Tomcatには、のlibディレクトリにグローバルなクラスパスがあります。これには、すべてのWebアプリケーションで使用できるコードが含まれています。

+0

こんにちは@Olaf Kock、あなたの答えをありがとう。私の同僚と私は、Windows Server 2008 r2からwarファイルを抽出し、WinMergeソフトウェアを使用して相違点を見つけます。それらのファイルは同じです。紛失や余分なファイルはありません。 Tomcatのグローバルクラスパスについては比較しますが、libは同じです。なぜwarファイルがうまくいかないのかまだ分かりませんが、jtsd jarをlibに入れて戦争を再作成し、Tomcatにデプロイするときはわかります。アプリケーションは現在動作しています。 – beginner

関連する問題