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 ...
随机推荐
- 浅谈javascript中的递归和闭包
递归和闭包作为js中很重要的一环,几乎在前端的面试中都会涉及,特别闭包.今天前端组的组长冷不丁的问了我一下,粗略的回答了一下,感觉不太满足,于是重新学习了一下,写下本篇. 在说这个两个概念之前,我们先 ...
- 如何通过Restful API的方式读取SAP Commerce Cloud的Product Reference
从SAP官网上找到api的说明: https://api.sap.com/api/commerce_services/resource api endpoint: /rest/v2/electroni ...
- Elasticsearch 是什么
Elasticsearch 是什么 Elasticsearch是一个基于Apache Lucene(TM)的开源搜索引擎.无论在开源还是专有领域,Lucene可以被认为是迄今为止最先进.性能最好的.功 ...
- 【JUC】7.CountDownLatch
Latch:门闩.一种线程通信的方式:当程序不涉及同步,仅仅需要线程通信的时候,使用synchronize或者lock的线程通信等待唤醒机制,就显得太重了: 这时候,可以考虑使用信号量类:CountD ...
- oracle 设置归档日模式
首先关闭ORACLE SQL> shutdown immediate 把ORACLE启动为MOUNT模式 SQL:>startup mount sql:> alter databas ...
- Android笔记(四十) Android中的数据存储——SQLite(二) insert
准备工作: 我们模拟一个注册的页面,先看UI 我们需要创建一个数据库:user,数据库包含表user,user表包含字段id.username.password.mobilephone MainAct ...
- vi / vim 字符替换详解
:s/idoxu/isTester.com/g 替换当前行所有 idoxu 为 isTester.com :n,$s/idoxu/isTester.com/ #替换第 n 行开始到最后一行中每一行的第 ...
- IP和网络互联
IP和网络互联 IP网络互连机制: IP地址分类方法及原因: CIDR地址(无分类地址): IP分组首部格式: 数据分片方法: IP分组传输思路:
- VMware安装ubantu
下载ubantu镜像文件: http://mirror.pnl.gov/releases/xenial/ http://mirrors.melbourne.co.uk/ubuntu-releases/ ...
- typescript 箭头表达式
箭头表达式:用来声明匿名函数,消除传统匿名函数的this指针问题 1.无参 var sum = () => {} 2.一个参数 var sum = arg2 => {} 3.多个参数 va ...