0

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>

次に、通信リンク障害が発生します。私は何が欠けていますか?必要な場合は、完全なスタック トレースを追加できます。

4

2 に答える 2

0

現在Apacheにある最後のTomcat Mavenプラグインへの最初のアップグレード。

http://tomcat.apache.org/maven-plugin-2.0/を参照してください

文脈利用について

  <plugin>
    <groupId>org.apache.tomcat.maven</groupId>
    <artifactId>tomcat7-maven-plugin</artifactId>
    <configuration>
      <contextFile>path to your context file</contextFile>
    </configuration>
  </plugin>
于 2012-11-01T07:53:27.730 に答える
0

アプリケーションが正常に動作し、MySQL をデータベースとして使用したい場合は、MySQL ドライバーを追加し、pom.xmlHibernate 構成を変更する必要があります。そのこと。

于 2012-10-31T13:53:18.870 に答える