Web からダウンロードした spring mvc プロジェクトがあり、完全に機能しています。依存関係を管理し、組み込みの tomcat で webapp を実行するために、maven と maven tomcat プラグインを使用しています。プロジェクトに mySql サポートを追加しようとしています。私はmavenとmaven tomcatプラグインが初めてなので、これを行うのが難しいとは思いません。mysql を追加しようとする前は、すべてが機能していて、Tomcat:run Maven ゴールを実行するだけで Web アプリを起動できました。
今のところ、tomcat:run を実行すると、
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
これは、ウェブを読んだ後にすでに行ったことです。pom.xmlにmysqlドライバー(および使用したいのでHibernateアノテーションも)の依存関係を追加し、Tomcatプラグインの依存関係を指定しました:
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.9</version>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>tomcat-maven-plugin</artifactId>
<version>1.1</version>
<configuration>
<mode>context</mode>
</configuration>
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.9</version>
</dependency>
</dependencies>
</plugin>
また、context.xml ファイルを使用するように指定するタグにも注意してください。しかし、このファイルをどこに置くべきかわかりません。tomcat/conf で自動的に生成されるはずだと読みましたが、存在しません。だから私はこのコンテンツで手動で追加しました:
<?xml version="1.0" encoding="UTF-8"?>
<Context>
<Resource name="jdbc/mkyongdb" auth="Container" type="javax.sql.DataSource"
maxActive="50" maxIdle="30" maxWait="10000"
username="root" password="password"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/mkyongdb"/>
</Context>
次に、tomcat/conf にある web.xml に次を追加しました。
<resource-ref>
<description>MySQL Datasource example</description>
<res-ref-name>jdbc/mkyongdb</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
src/main/webapp/META-INF/context.xml と src/main/webapp/WEB-INF/web.xml に同じコンテンツを配置しました
これらすべての構成により、上記のエラーは表示されません。しかし、休止状態の追加を使用しようとすると
<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/mkyongdb" />
<property name="username" value="root" />
<property name="password" value="password" />
</bean>
<bean
id="sessionFactory"
class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean" >
<property name="dataSource" >
<ref bean="dataSource" />
</property>
<property name="hibernateProperties" >
<props>
<prop key="hibernate.hbm2ddl.auto" >create-drop</prop>
<prop key="hibernate.dialect" >org.hibernate.dialect.MySQLDialect</prop>
<prop key="hibernate.show_sql" >true</prop>
</props>
</property>
<property name="annotatedClasses" >
<list>
<value>org.mose.grouporganizer.entity.AccelerometerFeatures</value>
</list>
</property>
</bean>
次に、通信リンク障害が発生します。私は何が欠けていますか?必要な場合は、完全なスタック トレースを追加できます。