使用oracle作为数据库打包spring boot应用程序 [英] packaging spring boot application with oracle as database

查看:73
本文介绍了使用oracle作为数据库打包spring boot应用程序的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试打包我的spring boot应用程序,以便可以将其部署在tomcat服务器上.观看youtube视频后,我扩展了SpringBootServletInitializer类并进行了一些更改.

i am trying to package my spring boot application so that i can deploy it on tomcat server. after watching a youtube video i extended SpringBootServletInitializer class and made some changes.

 @ComponentScan("com.infodev.loksewa")
    @SpringBootApplication
    public class LoksewaApplication extends SpringBootServletInitializer {

    public static void main(String[] args) {
        SpringApplication.run(LoksewaApplication.class, args);
    }

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        return builder.sources(LoksewaApplication.class);
    }
}

pox.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.infodev</groupId>
    <artifactId>loksewa</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>war</packaging>

    <name>loksewa</name>
    <description>Demo project for Spring Boot</description>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.2.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
            <scope>provided</scope>
        </dependency>
    </dependencies>

    <build>
        <finalName>psclockunlock</finalName>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>


</project>

pom.xml将无法自动导入ojdbc jar文件,因此我像这样手动添加了该jar文件:-

pom.xml would fail to auto import the ojdbc jar file so i added that jar file manually like this:-

当我在IDE(Intellij Idea)上运行应用程序时,它成功运行.但是现在我需要将其打包为war文件,并将其部署到我的tomcat服务器上.所以当我从intellij打包时,出现错误,提示无法加载驱动程序.

when i run the application on my IDE (Intellij Idea) it runs successfully. but now i need to package it as war file and deploy it on my tomcat server. so when i do package from intellij i get an error which says driver could no be loaded.

Caused by: java.lang.IllegalStateException: 
Cannot load driver class: oracle.jdbc.driver.OracleDriver

在打包应用程序时,我应该在哪里放置这个ojdbc jar文件?

where should i place this ojdbc jar file while packaging the application?

推荐答案

由于Oracle许可证限制,公共Maven存储库中不提供Oracle JDBC驱动程序.要将Oracle JDBC驱动程序与Maven一起使用,必须手动下载并将其安装到Maven本地存储库中.要安装Oracle jdbc驱动程序,请发出以下命令:

Due to Oracle license restrictions, the Oracle JDBC driver is not available in the public Maven repository. To use the Oracle JDBC driver with Maven, you have to download and install it manually into your Maven local repository. To install your Oracle jdbc driver, issue following command :

mvn install:install-file -Dfile = {Path/to/your/ojdbc.jar} -DgroupId = com.oracle -DartifactId = ojdbc6 -Dversion = 11.2.0 -Dpackaging = jar

mvn install:install-file -Dfile={Path/to/your/ojdbc.jar} -DgroupId=com.oracle -DartifactId=ojdbc6 -Dversion=11.2.0 -Dpackaging=jar

添加ojdbc6依赖项

add ojdbc6 dependency

<dependency>
    <groupId>com.oracle</groupId>
    <artifactId>ojdbc6</artifactId>
    <version>11.2.0</version>
</dependency>

这篇关于使用oracle作为数据库打包spring boot应用程序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆