checking for JDK os include directory... Cannot find jni_md.h in /usr/lib/jvm/jre-1.8.0-openjdk 解决方法

本文主要是介绍checking for JDK os include directory... Cannot find jni_md.h in /usr/lib/jvm/jre-1.8.0-openjdk 解决方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 背景

近日,在给tomcat安装ssl证书时,碰到了一个问题。主要就是安装下面的的插件时,碰到的。

#编译环境 ubuntu18.04.6_x64
#编译apr-lib
cd ~/Downloads
wget http://apache.mirror.anlx.net/apr/apr-1.7.0.tar.gz
tar -zxvf apr-1.7.0.tar.gz
cd apr-1.7.0
./configure --prefix=$(pwd)/out
make -j4
make install

#安装openssl
sudo apt install openssl libssl-dev

cd ~/Downloads
wget https://dlcdn.apache.org/tomcat/tomcat-connectors/native/1.2.31/source/tomcat-native-1.2.31-src.tar.gz
tar -zxvf  tomcat-native-1.2.31-src.tar.gz
cd tomcat-native-1.2.31-src/native
#此处--with-apr替换为上边编译的apr-lib的绝对路径
./configure --prefix=$(pwd)/out --with-apr=/home/ubuntu/Downloads/apr-1.7.0/out  --with-ssl=yes
make -j4
make install

#复制out目录下的文件到tomcat的bin目录下,重启即可在log中看到apr相关了
原网址:解决ubuntu下“找不到基于APR的Apache Tomcat本机库” - 一年- - 博客园#####原因: 缺少apr相关lib,编译一份放到tomcat的bin目录下即可,当然不放也可以正常用。 先放一份编译好的 点此下载 #编译环境 ubuntu18.04.6_x64 #编译apr-lhttps://www.cnblogs.com/srczhang/p/15450570.html

执行apr-lib中的命令正常运行。在安装openssl的时候,出现了下面的日志:

checking for JDK os include directory... Cannot find jni_md.h in /usr/lib/jvm/jre-1.8.0-openjdk/

上面是截取的部分日志

 在网络搜了好久,没有找到。

解决方案

于是,自己动手找。给出的提示是“在这个include目录中,没有找到jni_md.h文件”,于是,

到“ /usr/lib/jvm/“目录下寻找include目录,确实不存在。

在linux下,使用find命令也没有查找到。在自己的开发机器上有这个目录,但是服务器上没有。

于是,回想自己是如何在服务区上安装的jdk,利用的yum这种方式,比较节省时间。

也在网上,看到这样安装是安装的简易版,就是安装的文件比较少。

解决步骤:

服务器上现在需要include这个目录下的文件,那么只能是给它这个目录了。

那就只能用比较笨的方法:

到官网上下载jdk,并上传到服务器上。安装。

并确认,这次安装有include目录。

官网下载jdk时,需要登录,没有用户的需要注册一下。

将下载下来的jdk安装时,是使用tar的命令

 tar -xzvf jdk-8u241-linux-x64.tar.gz(使用了此命令)成功安装

下载jdk,并安装借助了下面的博文

Linux上安装JDK1.8 - chy_18883701161 - 博客园以CentOS为例。 切换到root账户 检查是否已安装过jdk yum list --installed|grep jdk 或者java -version看下能不能执行。 如果已安装过但jdk版本不https://www.cnblogs.com/chy18883701161/p/12354039.html

这个是在安装ssl证书的一个小插曲。tomcat的运行,需要jdk的内容要根据需要安装啊。

小插曲:

在解决问题时,发现yum安装的jdk1.8内容少。于是,利用yum安装jdk1.6,并查看是否会多一些目录;安装后,依然没有发现include这个目录

这篇关于checking for JDK os include directory... Cannot find jni_md.h in /usr/lib/jvm/jre-1.8.0-openjdk 解决方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/320289

相关文章

分布式锁在Spring Boot应用中的实现过程

《分布式锁在SpringBoot应用中的实现过程》文章介绍在SpringBoot中通过自定义Lock注解、LockAspect切面和RedisLockUtils工具类实现分布式锁,确保多实例并发操作... 目录Lock注解LockASPect切面RedisLockUtils工具类总结在现代微服务架构中,分布

Java使用Thumbnailator库实现图片处理与压缩功能

《Java使用Thumbnailator库实现图片处理与压缩功能》Thumbnailator是高性能Java图像处理库,支持缩放、旋转、水印添加、裁剪及格式转换,提供易用API和性能优化,适合Web应... 目录1. 图片处理库Thumbnailator介绍2. 基本和指定大小图片缩放功能2.1 图片缩放的

Spring Boot集成/输出/日志级别控制/持久化开发实践

《SpringBoot集成/输出/日志级别控制/持久化开发实践》SpringBoot默认集成Logback,支持灵活日志级别配置(INFO/DEBUG等),输出包含时间戳、级别、类名等信息,并可通过... 目录一、日志概述1.1、Spring Boot日志简介1.2、日志框架与默认配置1.3、日志的核心作用

破茧 JDBC:MyBatis 在 Spring Boot 中的轻量实践指南

《破茧JDBC:MyBatis在SpringBoot中的轻量实践指南》MyBatis是持久层框架,简化JDBC开发,通过接口+XML/注解实现数据访问,动态代理生成实现类,支持增删改查及参数... 目录一、什么是 MyBATis二、 MyBatis 入门2.1、创建项目2.2、配置数据库连接字符串2.3、入

Springboot项目启动失败提示找不到dao类的解决

《Springboot项目启动失败提示找不到dao类的解决》SpringBoot启动失败,因ProductServiceImpl未正确注入ProductDao,原因:Dao未注册为Bean,解决:在启... 目录错误描述原因解决方法总结***************************APPLICA编

深度解析Spring Security 中的 SecurityFilterChain核心功能

《深度解析SpringSecurity中的SecurityFilterChain核心功能》SecurityFilterChain通过组件化配置、类型安全路径匹配、多链协同三大特性,重构了Spri... 目录Spring Security 中的SecurityFilterChain深度解析一、Security

Python安装Pandas库的两种方法

《Python安装Pandas库的两种方法》本文介绍了三种安装PythonPandas库的方法,通过cmd命令行安装并解决版本冲突,手动下载whl文件安装,更换国内镜像源加速下载,最后建议用pipli... 目录方法一:cmd命令行执行pip install pandas方法二:找到pandas下载库,然后

SpringBoot多环境配置数据读取方式

《SpringBoot多环境配置数据读取方式》SpringBoot通过环境隔离机制,支持properties/yaml/yml多格式配置,结合@Value、Environment和@Configura... 目录一、多环境配置的核心思路二、3种配置文件格式详解2.1 properties格式(传统格式)1.

Apache Ignite 与 Spring Boot 集成详细指南

《ApacheIgnite与SpringBoot集成详细指南》ApacheIgnite官方指南详解如何通过SpringBootStarter扩展实现自动配置,支持厚/轻客户端模式,简化Ign... 目录 一、背景:为什么需要这个集成? 二、两种集成方式(对应两种客户端模型) 三、方式一:自动配置 Thick

解决pandas无法读取csv文件数据的问题

《解决pandas无法读取csv文件数据的问题》本文讲述作者用Pandas读取CSV文件时因参数设置不当导致数据错位,通过调整delimiter和on_bad_lines参数最终解决问题,并强调正确参... 目录一、前言二、问题复现1. 问题2. 通过 on_bad_lines=‘warn’ 跳过异常数据3