当前位置: 首页 > news >正文

专门做美剧的网站咸宁手机网站建设

专门做美剧的网站,咸宁手机网站建设,中国民航机场建设集团公司网站,企业网站的内容营销在 Java 项目中,尤其是使用了 JavaCV 或 FFmpeg 的项目中,native(本地库)指的是与操作系统和硬件架构相关的二进制文件(即动态链接库),它们不是 Java 编写的,而是 C/C 等语言编译生成…

在 Java 项目中,尤其是使用了 JavaCV 或 FFmpeg 的项目中,native(本地库)指的是与操作系统和硬件架构相关的二进制文件(即动态链接库),它们不是 Java 编写的,而是 C/C++ 等语言编译生成的。

🧩 常见的 native 文件类型


📁 在 JavaCV/FFmpeg 中常见的 native 库包括:
jniavutil
jniavcodec
jniavformat
jniavdevice
jnijava
这些都是 FFmpeg 提供的核心模块,通过 JavaCPP 封装后供 Java 调用

1 截图功能报错:

【业务】接口异常 接口接口地址:/index/api/getSnap 错误信息:Handler dispatch failed; nested exception is java.lang.UnsatisfiedLinkError: no jniavutil in java.library.path: /usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib

org.springframework.web.util.NestedServletException: Handler dispatch failed; nested exception is java.lang.UnsatisfiedLinkError: no jniavutil in java.library.path: /usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib

说明 JVM 在运行时无法找到 native 库(如 jniavutil.dll / libjniavutil.so),这通常是因为:
✅ 原因分析
Maven 打包插件未正确处理 native 文件
默认情况下,Spring Boot 的 spring-boot-maven-plugin 不会将 native 文件打包进最终的 .jar 文件。
即使你在依赖中引入了 windows-x86_64 或 linux-x86_64 的 native 包,它们也不会自动被提取并放入运行路径。
native 文件没有被释放到文件系统
JavaCPP 需要将 native 文件从 JAR 中提取到临时目录或指定目录加载。
如果这个过程失败,就会出现 UnsatisfiedLinkError。
平台不匹配
如果你在 Windows 上开发,但打包部署到了 Linux,而没有切换依赖的 <classifier>,也会导致找不到 native 文件。

配置pom文件:

  <!--JavaCV相关依赖--><dependency><groupId>org.bytedeco</groupId><artifactId>javacv</artifactId><version>1.5.10</version></dependency><dependency><groupId>org.bytedeco</groupId><artifactId>ffmpeg</artifactId><version>6.1.1-1.5.10</version><classifier>windows-x86_64-gpl</classifier></dependency><dependency><groupId>org.bytedeco</groupId><artifactId>ffmpeg</artifactId><version>6.1.1-1.5.10</version><classifier>linux-x86_64-gpl</classifier></dependency><!-- Linux x86_64 示例 --><dependency><groupId>org.bytedeco</groupId><artifactId>ffmpeg-platform</artifactId><version>6.1.1-1.5.10</version></dependency>

打包:

<plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><configuration><!-- 强制 spring-boot 使用 ZIP layout 来打包 --><layout>ZIP</layout><includes><include><groupId>org.bytedeco</groupId></include></includes><!-- 可选:保留 system scope --><includeSystemScope>true</includeSystemScope></configuration>
</plugin>

2 linux gcc版本过低。

重新安装 devtoolset-9

要求 4.9以上

# 备份原有 repo 文件
sudo mv /etc/yum.repos.d/ /etc/yum.repos.d.bak/
sudo mkdir -p /etc/yum.repos.d/# 下载阿里云源
sudo curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
sudo curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo# 可选:添加 SCL 源
sudo tee /etc/yum.repos.d/CentOS-SCLo-scl.repo << 'EOL'
[centos-sclo-rh]
name=CentOS-7 - SCLo RH
baseurl=http://mirrors.aliyun.com/centos/7/sclo/x86_64/rh/
gpgcheck=0
enabled=1[centos-sclo-sclo]
name=CentOS-7 - SCLo SCLO
baseurl=http://mirrors.aliyun.com/centos/7/sclo/x86_64/sclo/
gpgcheck=0
enabled=1
EOL# 清理并重建缓存
sudo yum clean all
sudo yum makecache
sudo yum install -y centos-release-scl
sudo yum install -y devtoolset-9

安装好gcc 9.0才可以执行ffmpeg

启动服务

nohup java  -Dloader.include=org.bytedeco -Dloader.explode=true -jar -Xms128m -Xmx1024m  j-media-server.jar /dev/null 2>&1 &

继续报错:

【业务】接口异常 接口接口地址:/index/api/getSnap 错误信息:Handler dispatch failed; nested exception is java.lang.UnsatisfiedLinkError: no jniavutil in java.library.path: /opt/rh/devtoolset-9/root/usr/lib64:/opt/rh/devtoolset-9/root/usr/lib:/opt/rh/devtoolset-9/root/usr/lib64/dyninst:/opt/rh/devtoolset-9/root/usr/lib/dyninst:/opt/rh/devtoolset-9/root/usr/lib64:/opt/rh/devtoolset-9/root/usr/lib:/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib

org.springframework.web.util.NestedServletException: Handler dispatch failed; nested exception is java.lang.UnsatisfiedLinkError: no jniavutil in java.library.path: /opt/rh/devtoolset-9/root/usr/lib64:/opt/rh/devtoolset-9/root/usr/lib:/opt/rh/devtoolset-9/root/usr/lib64/dyninst:/opt/rh/devtoolset-9/root/usr/lib/dyninst:/opt/rh/devtoolset-9/root/usr/lib64:/opt/rh/devtoolset-9/root/usr/lib:/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib

解决方案:手动提取 native 文件 + 指定路径
步骤一:从 Maven 中提取 Linux 兼容的 .so 文件
你当前 pom.xml 引用了以下依赖:

<dependency>
<groupId>org.bytedeco</groupId>
<artifactId>ffmpeg</artifactId>
<version>6.1.1-1.5.10</version>
<classifier>linux-x86_64-gpl</classifier>
</dependency>

C:\Users\你的用户名\.m2\repository\org\bytedeco\ffmpeg\6.1.1-1.5.10\
找到:

ffmpeg-6.1.1-1.5.10-linux-x86_64-gpl.jar

解压:

unzip ffmpeg-6.1.1-1.5.10-linux-x86_64-gpl.jar -d ffmpeg_native/

上传到目录:

/usr/local/zlmwebrtc/natives/

最后实在不行直接在docker 运行吧

FROM centos:8# 安装必要依赖(可选)
RUN dnf install -y java-11-openjdk ffmpeg# 创建 native 文件存放目录
COPY natives /opt/natives# 拷贝 jar 包
COPY target/j-media-server.jar /app.jar# 设置 JVM 启动参数
ENTRYPOINT ["java", \"-Dloader.include=org.bytedeco", \"-Djava.library.path=/opt/natives", \"-Xms128m", "-Xmx1024m", \"-jar", "/app.jar"]

# 构建镜像
docker build -t j-media-server .# 创建本地目录存放 native 文件(确保 libjniavutil.so 等存在)
mkdir -p ./natives# 将 Windows 上 Maven 中提取出的 .so 文件拷贝到此目录
cp ffmpeg-6.1.1-1.5.10-linux-x86_64-gpl/libjniavutil.so ./natives/
cp ffmpeg-6.1.1-1.5.10-linux-x86_64-gpl/libjniavcodec.so ./natives/
cp ffmpeg-6.1.1-1.5.10-linux-x86_64-gpl/libjniavformat.so ./natives/
...# 启动容器
docker run -d \--name jmedia \-v $(pwd)/natives:/opt/natives \-p 8899:8899\j-media-server

完美,又开始进入新的docker 的坑

http://www.dtcms.com/a/442692.html

相关文章:

  • sed使用手册
  • 网站开发搭建ssc p2p 互助做网站第一步做什么
  • 做教育网站有什么好处搜狗推广
  • 成品网站模板源码 网站源码模板 html源码下载
  • Scrapy 框架深度解析:架构、组件与工作流程
  • 网站例子谷歌搜索引擎免费
  • 深圳专业设计网站平台做网站为什么可以自学
  • Ruby CGI 编程
  • 【数形结合】当天先到者等未到者20分钟,见面概率
  • 广州广告制作有限公司优化工具 wordpress
  • 企业网站建设需要费用什么是4c品牌建设模型
  • 专门做简历的网站有哪些网站建设社区交流
  • 网站备案有什么要求吗html5开发手机网站
  • YOLO入门教程(番外):卷积神经网络—图像卷积
  • 上海网站开发开发好的公司网站网站建设考虑要素
  • 有用的LOGO设计集锦
  • web前端学习 langchain
  • 站长工具seo推广 站长工具查询网页设计的主题说明
  • iBizModel 工具栏(PSDETOOLBAR)与应用菜单(PSAPPMENU)模型详解
  • Transformer 模型知识点及详细内容
  • 哪个小说网站版权做的好上海注销公司需要什么资料和流程
  • 网站展示型广告wordpress迁移打不开
  • 怎样做推广网站长沙百度首页优化排名
  • 长椿街网站建设高校网站模板
  • Mosquitto 中 packet_mosq.c 文件的功能分析
  • I/O模型:用poll实现多路复用I/O(linux下C语言版)
  • 石家庄做网站哪家好北京网站建设的价格天
  • 网站设计与制作湛江网站建设方案书
  • 个人怎样建网站设计师网页设计作品
  • 网站建设好处网站内容规划