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出错的更多相关文章

  1. 在Java中使用SQLite的教程(转)

    简介:这是在Java中使用SQLite的教程的详细页面,介绍了和java,有关的知识.技巧.经验,和一些java源码等. 简单的在Java中使用SQLite的教程 使用SQLiteJDBC封装 www ...

  2. [Sqlite] --&gt; Sqlite于Windows、Linux 和 Mac OS X 在安装过程

    一个:于 Windows 安装 SQLite  1,下载 请訪问SQLite下载页面http://www.sqlite.org/download.html.从Windows 区下载预编译的二进制文件. ...

  3. Java之List排序出错

    Java之List排序出错 Bound mismatch: The generic method sort(List<T>) of type Collections is not appl ...

  4. Sqlite数据库管理(SQLite Developer) v4.0.0.528 中文版+破解方法(申明:来源于网络)

    Sqlite数据库管理(SQLite Developer) v4.0.0.528 中文破解版 SharpPlus Sqlite Developer 特性: -强大的SQL编辑器 *Sqlite Sql ...

  5. java执行jar包出错:Unable to access jarfile

    java执行jar包出错:Unable to access jarfile 错误的原因有多种: 1.一般都是路径不正确.在Windows中,正确的路径类似于: java -jar "D:\W ...

  6. Java项目使用SQLite数据库后无法启动的问题

    背景: Java > maven 的 jar 项目 功能是记录用户的每天的按键次数 使用 jar2exe 工具将 jar 转为 exe 可执行文件 原本项目中使用的Mysql数据库,使用Myba ...

  7. 在Java中使用Sqlite数据库

    一.安装 下载最新的 Sqlite Jdbc 驱动程序jar文件,并添加到Java工程的class路径下: 二.使用 以 sqlite Jdbc 驱动版本为 sqlitejdbc-v56.jar 为例 ...

  8. 【Java】操作Sqlite数据库

    首先在https://github.com/xerial/sqlite-jdbc下载jar包 import java.sql.Connection; import java.sql.DriverMan ...

  9. JAVA中的sqlite

    1.SQLiteJDBC SQLite JDBC Driver 可以在这个网站下载https://bitbucket.org/xerial/sqlite-jdbc/overview,当前稳定版本sql ...

随机推荐

  1. 浅谈javascript中的递归和闭包

    递归和闭包作为js中很重要的一环,几乎在前端的面试中都会涉及,特别闭包.今天前端组的组长冷不丁的问了我一下,粗略的回答了一下,感觉不太满足,于是重新学习了一下,写下本篇. 在说这个两个概念之前,我们先 ...

  2. 如何通过Restful API的方式读取SAP Commerce Cloud的Product Reference

    从SAP官网上找到api的说明: https://api.sap.com/api/commerce_services/resource api endpoint: /rest/v2/electroni ...

  3. Elasticsearch 是什么

    Elasticsearch 是什么 Elasticsearch是一个基于Apache Lucene(TM)的开源搜索引擎.无论在开源还是专有领域,Lucene可以被认为是迄今为止最先进.性能最好的.功 ...

  4. 【JUC】7.CountDownLatch

    Latch:门闩.一种线程通信的方式:当程序不涉及同步,仅仅需要线程通信的时候,使用synchronize或者lock的线程通信等待唤醒机制,就显得太重了: 这时候,可以考虑使用信号量类:CountD ...

  5. oracle 设置归档日模式

    首先关闭ORACLE SQL> shutdown immediate 把ORACLE启动为MOUNT模式 SQL:>startup mount sql:> alter databas ...

  6. Android笔记(四十) Android中的数据存储——SQLite(二) insert

    准备工作: 我们模拟一个注册的页面,先看UI 我们需要创建一个数据库:user,数据库包含表user,user表包含字段id.username.password.mobilephone MainAct ...

  7. vi / vim 字符替换详解

    :s/idoxu/isTester.com/g 替换当前行所有 idoxu 为 isTester.com :n,$s/idoxu/isTester.com/ #替换第 n 行开始到最后一行中每一行的第 ...

  8. IP和网络互联

    IP和网络互联 IP网络互连机制: IP地址分类方法及原因: CIDR地址(无分类地址): IP分组首部格式: 数据分片方法: IP分组传输思路:

  9. VMware安装ubantu

    下载ubantu镜像文件: http://mirror.pnl.gov/releases/xenial/ http://mirrors.melbourne.co.uk/ubuntu-releases/ ...

  10. typescript 箭头表达式

    箭头表达式:用来声明匿名函数,消除传统匿名函数的this指针问题 1.无参 var sum = () => {} 2.一个参数 var sum = arg2 => {} 3.多个参数 va ...