Развертывание Springboot войны на Tomcat 8.5 - PullRequest
0 голосов
/ 16 октября 2018

Я создал файл war весенней загрузки, используя maven, когда я пытаюсь развернуть файл war на внешний сервер Tomcat в командной строке.Я получаю исключение.

Ошибка создания bean-компонента с именем 'inMemoryDatabaseShutdownExecutor', определенным в ресурсе пути к классу [org / springframework / boot / devtools / autoconfigure / DevToolsDataSourceAutoConfiguration.class]: несоответствующая зависимость, выраженная методом methodShSSпараметр 0;вложенным исключением является org.springframework.beans.factory.BeanCreationException: ошибка создания компонента с именем 'dataSource', определенным в ресурсе пути к классу [org / springframework / boot / autoconfigure / jdbc / DataSourceConfiguration $ Hikari.class]: сбой создания экземпляра компонента с помощью метода фабрики;вложенным исключением является org.springframework.beans.BeanInstantiationException: не удалось создать экземпляр [com.zaxxer.hikari.HikariDataSource]: фабричный метод 'dataSource' вызвал исключение;вложенное исключение: java.lang.IllegalStateException: невозможно загрузить класс драйвера: oracle.jdbc.OracleDriver

Я использую два файла application.properties, один из которых находится в файле src / main / resources, который имеет фактическую конфигурацию источника данных дляOracle и другой в src / test / resources, у которого есть источник данных для базы данных H2 в памяти.

Пожалуйста, дайте мне знать, если я что-то пропустил, например, поместив файл свойств в config в папку tomcat и т. Д.

Ответы [ 2 ]

0 голосов
/ 17 октября 2018

Хорошо, коренная причина этого в том, что в моем war-файле нет файла oracle6 jar - хотя я добавил зависимость в свой pom.xml.

<dependency>
            <groupId>com.oracle</groupId>
            <artifactId>ojdbc</artifactId>
            <version>6</version>
            <scope>system</scope>
            <systemPath>${basedir}/lib/ojdbc6.jar</systemPath>
        </dependency>

Поэтому я явно добавил банку в мою библиотеку Tomcat, и она сработала.

0 голосов
/ 16 октября 2018

Полагаю, вы установили oracle.jdbc.OracleDriver в качестве имени класса драйвера для вашего application.properties в src / main / java, верно?Вы не забыли включить эту зависимость в pom.xml, как показано ниже?

<dependency>
      <groupId>com.oracle</groupId>
          <artifactId>ojdbc14</artifactId>
      <version>10.2.0.4.0</version>
</dependency>

Редактировать

Попробуйте добавить это в context.xml tomcat:

  <Resource name="jdbc/mydb" auth="Container" type="javax.sql.DataSource"
           maxTotal="100" maxIdle="30" maxWaitMillis="10000"
           username="xxx" password="xxx" driverClassName="oracle.jdbc.OracleDriver"
           url="jdbc:oracle:thin:@localhost:1521:xe"/>  
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...