java - Springboot 项目的 Tomcat 到 WebLogic Server 迁移期间的错误
问题描述
更新:我更新了 mysql 连接器的版本,现在出现新错误。
因此,大多数这些迁移通常是从 WLS 到 Tomcat。但默认情况下,我的项目一直使用 Tomcat。我的前端是 Angular,它在 4200 端口上运行。我在 tomcat 上的后端在 8080 上运行,所有功能都正常。现在我正在尝试将此应用程序部署到我的 WebLogic Server。
我现在收到此错误:我尝试使用Connect Java to a MySQL database,ClassCastException: java.math.BigInteger cannot be cast to java.lang.Long on connect to MySQL
org.springframework.jdbc.support.MetaDataAccessException: Could not get Connection for extracting meta-data; nested exception is org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLException: java.lang.ClassCastException: java.math.BigInteger cannot be cast to java.lang.Long
这是我的 pom.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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<packaging>war</packaging>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.14.RELEASE</version>
<relativePath /> <!-- lookup parent from repository -->
</parent>
<groupId>com.health.doh</groupId>
<artifactId>timeoff</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>timeoff</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>5.2.1.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
<version>8.0.18</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
<exclusion>
<artifactId>tomcat-embed-el</artifactId>
<groupId>org.apache.tomcat.embed</groupId>
</exclusion>
<exclusion>
<artifactId>tomcat-embed-core</artifactId>
<groupId>org.apache.tomcat.embed</groupId>
</exclusion>
<exclusion>
<artifactId>tomcat-embed-websocket</artifactId>
<groupId>org.apache.tomcat.embed</groupId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<failOnMissingWebXml>false</failOnMissingWebXml>
<archive>
<manifest>
<addDefaultImplementationEntries>false</addDefaultImplementationEntries>
</manifest>
</archive>
</configuration>
</plugin>
</plugins>
</build>
</project>
应用程序属性
spring.datasource.url=jdbc:mysql://localhost:3306/requester
spring.datasource.username=root
spring.datasource.password=xxx
spring.jpa.show-sql=true
spring.jpa.hibernate.ddl-auto=create
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQLDialect
TimeoffApplication.java
@ComponentScan
@SpringBootApplication
public class TimeoffApplication extends SpringBootServletInitializer implements WebApplicationInitializer{
@Autowired
EmployeeRequestDao employeeRequestDao;
public static void main(String[] args) {
SpringApplication.run(TimeoffApplication.class, args);
}
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(TimeoffApplication.class);
}
}
来自 Controller.java 的片段
@RestController
@RequestMapping("api")
@CrossOrigin(origins = "http://localhost:4200", allowedHeaders = "*")
解决方案
推荐阅读
- xslt - 需要协助精车捕获响应 XSLT
- macos - shell命令`rm -rf //`中的目录`//`具体是做什么的?
- android-motionlayout - MotionLayout 应用 loadLayoutDescription
- python-2.7 - 为什么 threading.Timer 是一个函数而不是一个类?
- reactjs - 如何从 react redux 中查找/过滤状态
- sql - 如何使 Distinct 正确?
- c# - 如何使 PayPal 协议 start_date 在 PayPal SDK for ASP.NET 中有效
- dll - 是否可以在 OSB 内的 dll 中调用方法
- r - ggplot facet_wrap_paginate 按变量分组的页面
- azure-web-app-service - Azure Web App VNet 集成(预览版)与外部 ASE