使用orcale数据库的springboot项目打war包部署到tomcat后启动报错解决办法(缺少UCP数据库连接库)

我将在我本丢运行ok的springboot项目打成war包后部署到tomcat后,启动tomcat的时候一直显示:由于之前的错误,Context[/ruoyi]启动失败......,查看tomcat的日志文件发现报错:

12-Aug-2024 10:20:35.183 严重 [main] org.apache.catalina.core.StandardContext.listenerStart 配置应用程序监听器[oracle.ucp.jdbc.UCPServletContextListener]错误
    java.lang.NoSuchMethodException: oracle.ucp.jdbc.UCPServletContextListener.<init>()

at java.lang.Class.getConstructor0(Class.java:3082)
        at java.lang.Class.getConstructor(Class.java:1825)
        at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:143)
        at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4389)
        at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:4914)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:171)
        at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:683)
        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:658)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:662)
        at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1023)
        at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1910)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
        at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:112)
        at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:824)
        at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:474)

结果是orcale的maven依赖文件缺了一个 UCP 连接池管理库,在pox文件中加入依赖文件就没有报错了。

<dependency>
    <groupId>com.oracle.database.jdbc</groupId>
    <artifactId>ucp</artifactId>
    <version>${orcale.version}</version>
</dependency>
 

配置成一下的样式就可以解决

  • 9
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. 创建Spring Boot 2.7.0项目 可以通过Spring Initializr或者使用IDEA的Spring Initializr插件来创建Spring Boot项目。 2. 配置德鲁伊连接池 在pom.xml中添加以下依赖: ```xml <dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>1.2.6</version> </dependency> ``` 在application.properties中添加以下配置: ```properties spring.datasource.url=jdbc:oracle:thin:@localhost:1521:ORCL spring.datasource.username=用户名 spring.datasource.password=密码 spring.datasource.driver-class-name=oracle.jdbc.driver.OracleDriver # 配置德鲁伊连接池 spring.datasource.type=com.alibaba.druid.pool.DruidDataSource spring.datasource.initialSize=5 spring.datasource.minIdle=5 spring.datasource.maxActive=20 spring.datasource.testOnBorrow=true spring.datasource.testOnReturn=false spring.datasource.testWhileIdle=true spring.datasource.timeBetweenEvictionRunsMillis=60000 spring.datasource.minEvictableIdleTimeMillis=300000 spring.datasource.validationQuery=SELECT 1 FROM DUAL spring.datasource.filters=stat,wall,log4j spring.datasource.connectionProperties=druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000 ``` 3. 配置mybatis-plus 在pom.xml中添加以下依赖: ```xml <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.4.3.3</version> </dependency> ``` 在application.properties中添加以下配置: ```properties # mybatis-plus配置 mybatis-plus.mapper-locations=classpath*:mapper/*.xml mybatis-plus.type-aliases-package=com.example.demo.entity mybatis-plus.global-config.id-type=auto mybatis-plus.global-config.db-config.logic-delete-value=1 mybatis-plus.global-config.db-config.logic-not-delete-value=0 ``` 4. 配置Redis连接池 在pom.xml中添加以下依赖: ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> <version>2.7.0</version> </dependency> ``` 在application.properties中添加以下配置: ```properties # Redis连接池配置 spring.redis.host=localhost spring.redis.port=6379 spring.redis.password= spring.redis.database=0 spring.redis.timeout=3000 spring.redis.lettuce.pool.max-active=8 spring.redis.lettuce.pool.max-idle=8 spring.redis.lettuce.pool.min-idle=0 spring.redis.lettuce.pool.max-wait=-1ms ``` 5. 创建StringRedisTemplate对Redis进行操作 在Spring Boot中可以直接使用StringRedisTemplate对Redis进行操作,无需额外配置,只需要注入StringRedisTemplate即可。 ```java @Autowired private StringRedisTemplate redisTemplate; public void set(String key, String value) { redisTemplate.opsForValue().set(key, value); } public String get(String key) { return redisTemplate.opsForValue().get(key); } public void delete(String key) { redisTemplate.delete(key); } ``` 以上就是使用Spring Boot 2.7.0版本搭建项目使用德鲁伊连接池连接Orcale数据库使用mybatis-plus操作数据库,创建Redis连接池,使用StringRedisTemplate对Redis进行操作的步骤。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值