java sqlite docker,sqlite出错
1问题1
使用docker镜像部署springboot程序,sqlite出错,在windows和linux环境都没有问题,使用docker部署就报错
Caused by: java.lang.UnsatisfiedLinkError: org.sqlite.core.NativeDB._open_utf8([BI)V
1.1原因及解决
基础镜像错误
FROM java:8-jre-alpine
将基础镜像替换为下面镜像
FROM openjdk:8-jre-alpine3.9
程序正常运行
1.2错误日志
Caused by: java.lang.UnsatisfiedLinkError: org.sqlite.core.NativeDB._open_utf8([BI)V
at org.sqlite.core.NativeDB._open_utf8(Native Method)
at org.sqlite.core.NativeDB._open(NativeDB.java:)
at org.sqlite.core.DB.open(DB.java:)
at org.sqlite.core.CoreConnection.open(CoreConnection.java:)
at org.sqlite.core.CoreConnection.<init>(CoreConnection.java:)
at org.sqlite.jdbc3.JDBC3Connection.<init>(JDBC3Connection.java:)
at org.sqlite.jdbc4.JDBC4Connection.<init>(JDBC4Connection.java:)
at org.sqlite.SQLiteConnection.<init>(SQLiteConnection.java:)
at org.sqlite.JDBC.createConnection(JDBC.java:)
at org.sqlite.JDBC.connect(JDBC.java:)
at com.alibaba.druid.filter.FilterChainImpl.connection_connect(FilterChainImpl.java:)
at com.alibaba.druid.filter.FilterAdapter.connection_connect(FilterAdapter.java:)
at com.alibaba.druid.filter.FilterEventAdapter.connection_connect(FilterEventAdapter.java:)
at com.alibaba.druid.filter.FilterChainImpl.connection_connect(FilterChainImpl.java:)
at com.alibaba.druid.filter.stat.StatFilter.connection_connect(StatFilter.java:)
at com.alibaba.druid.filter.FilterChainImpl.connection_connect(FilterChainImpl.java:)
at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:)
at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:)
at com.alibaba.druid.pool.DruidDataSource.init(DruidDataSource.java:)
at com.alibaba.druid.pool.DruidDataSource.getConnection(DruidDataSource.java:)
... common frames omitted
2问题2
将基础镜像更换为openjdk:8-jre-alpine3.9后,查询地形表时又出现jvm错误,其他表没有问题(真的是奇怪)
错误信息如下
#
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0x000000000000a786, pid=, tid=0x00007f8029defb10
#
# JRE version: OpenJDK Runtime Environment (.0_212-b04) (build 1.8.0_212-b04)
# Java VM: OpenJDK -Bit Server VM (25.212-b04 mixed mode linux-amd64 compressed oops)
# Derivative: IcedTea 3.12.
# Distribution: Custom build (Sat May :: UTC )
# Problematic frame:
# C 0x000000000000a786
#
# Core dump written. Default location: //core or core.1
#
# If you would like to submit a bug report, please include
# instructions on how to reproduce the bug and visit:
# https://icedtea.classpath.org/bugzilla
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#
查看core错误也没有发现问题
https://blog.csdn.net/u014653854/article/details/91865468
2.1原因及解决
只能再次更换镜像,很有可能是jdk版本的问题。
openjdk:8-jre-alpine3.9镜像的jdk版本(不行)
/ # java -version
openjdk version "1.8.0_212"
OpenJDK Runtime Environment (IcedTea 3.12.) (Alpine 8.212.-r0)
OpenJDK -Bit Server VM (build 25.212-b04, mixed mode)
openjdk:8u222-slim镜像的jdk版本(可以)
# java -version
openjdk version "1.8.0_222"
OpenJDK Runtime Environment (build 1.8.0_222-b10)
OpenJDK -Bit Server VM (build 25.222-b10, mixed mode)
openjdk:8-jre-alpine镜像的jdk版本(不行)
/ # java -version
openjdk version "1.8.0_212"
OpenJDK Runtime Environment (IcedTea 3.12.) (Alpine 8.212.-r0)
OpenJDK -Bit Server VM (build 25.212-b04, mixed mode)
openjdk:8-jre-alpine3.8镜像的jdk版本(不行)
/ # java -version
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (IcedTea 3.10.) (Alpine 8.191.-r0)
OpenJDK -Bit Server VM (build 25.191-b12, mixed mode)
openjdk:8u212-slim镜像的jdk版本(可以)
# java -version
openjdk version "1.8.0_212"
OpenJDK Runtime Environment (build 1.8.0_212-b04)
OpenJDK -Bit Server VM (build 25.212-b04, mixed mode)
openjdk:8u191-jre-alpine3.8镜像的jdk版本(不行)
/ # java -version
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (IcedTea 3.10.) (Alpine 8.191.-r0)
OpenJDK -Bit Server VM (build 25.191-b12, mixed mode)
java sqlite docker,sqlite出错的更多相关文章
- 在Java中使用SQLite的教程(转)
简介:这是在Java中使用SQLite的教程的详细页面,介绍了和java,有关的知识.技巧.经验,和一些java源码等. 简单的在Java中使用SQLite的教程 使用SQLiteJDBC封装 www ...
- [Sqlite] --> Sqlite于Windows、Linux 和 Mac OS X 在安装过程
一个:于 Windows 安装 SQLite 1,下载 请訪问SQLite下载页面http://www.sqlite.org/download.html.从Windows 区下载预编译的二进制文件. ...
- Java之List排序出错
Java之List排序出错 Bound mismatch: The generic method sort(List<T>) of type Collections is not appl ...
- Sqlite数据库管理(SQLite Developer) v4.0.0.528 中文版+破解方法(申明:来源于网络)
Sqlite数据库管理(SQLite Developer) v4.0.0.528 中文破解版 SharpPlus Sqlite Developer 特性: -强大的SQL编辑器 *Sqlite Sql ...
- java执行jar包出错:Unable to access jarfile
java执行jar包出错:Unable to access jarfile 错误的原因有多种: 1.一般都是路径不正确.在Windows中,正确的路径类似于: java -jar "D:\W ...
- Java项目使用SQLite数据库后无法启动的问题
背景: Java > maven 的 jar 项目 功能是记录用户的每天的按键次数 使用 jar2exe 工具将 jar 转为 exe 可执行文件 原本项目中使用的Mysql数据库,使用Myba ...
- 在Java中使用Sqlite数据库
一.安装 下载最新的 Sqlite Jdbc 驱动程序jar文件,并添加到Java工程的class路径下: 二.使用 以 sqlite Jdbc 驱动版本为 sqlitejdbc-v56.jar 为例 ...
- 【Java】操作Sqlite数据库
首先在https://github.com/xerial/sqlite-jdbc下载jar包 import java.sql.Connection; import java.sql.DriverMan ...
- JAVA中的sqlite
1.SQLiteJDBC SQLite JDBC Driver 可以在这个网站下载https://bitbucket.org/xerial/sqlite-jdbc/overview,当前稳定版本sql ...
随机推荐
- BUAA_OO第三单元总结性博客作业——JML
一.JML 在第三单元的面向对象课程中我们第一次接触了JML语言以及基于JML规范的规格化设计.在之前一系列关于面向对象思想的学习认识中,我们知道了Java是一种面向对象的语言,面向对象思想的一个重要 ...
- vue-quill-editor 富文本框使用及上传图片到服务器
注:上传图片需要结合element-ui的upload上传 首先第一步:安装vue-quill-editor或quill两个模块 yarn add vue-quill-editor -D yarn a ...
- 造成thrift 编译构建项目失败的原因之一:thrift环境变量没设置
由于重装了系统和IDEA工具,打开原项目时使用install 构建使用thrift 协议的项目时失败.下面是说说我遇到的问题 看下图,就是构建时控制台输出的日志,因为是乱码,当时没重视,就先去检查po ...
- c#使用正则表达式处理字符串
正则表达式可以灵活而高效的处理文本,可以通过匹配快速分析大量的文本找到特定的字符串. 可以验证字符串是否符合某种预定义的格式,可以提取,编辑,替换或删除文本子字符串. 现在如下特定的字符串: stri ...
- GC是如何判断一个对象为"垃圾"的?被GC判断为"垃圾"的对象一定会被回收吗?
一.GC如何判断一个对象为”垃圾”的java堆内存中存放着几乎所有的对象实例,垃圾收集器在对堆进行回收前,第一件事情就是要确定这些对象之中哪些还“存活”着,哪些已经“死去”.那么GC具体通过什么手段来 ...
- redhat6.7环境下oracle11gR2 RAC静默安装
(一)基础环境 虚拟机环境 :vmware workstation 12 操作系统 : redhat6.7 - 64bit 数据库版本 :11.2.0.4 (二)安装前的环境准备 (2.1)配置 ...
- Mybatis,返回Map的时候,将Map内的Key转换为驼峰的命名
每次使用mybatis的时候,简单的连表查询,用Map接收的时候,都是像DB定义的字段一样,类似以下 student_name,student_id,没有转换为驼峰,但是又不能因为这一个定义一个jav ...
- 【HCIA Gauss】学习汇总-数据库管理(数据库基本概念)-3
数据库:操作系统文件或磁盘数据块的集合数据库实例: 指操作系统中一系列进程以及为这些进程分配的内存块 通常来说一个数据库实例对应着一个数据库[数据库实例是访问数据的通道] 多实例:利用多实例 可以充分 ...
- Django分表操作、聚合及FQ方法
聚合 aggregate(*args, **kwargs) # 计算所有图书的平均价格 from django.db.models import Avg Book.objects.all().aggr ...
- IP和网络互联
IP和网络互联 IP网络互连机制: IP地址分类方法及原因: CIDR地址(无分类地址): IP分组首部格式: 数据分片方法: IP分组传输思路: