kkFileView源码编译并发布详细教程

news2025/1/17 21:50:57

文章目录

  • 概述
    • 为啥要自己进行源码编译
    • 我不懂Java代码,可以编译吗
    • 为什么写这篇教程
  • 废话不多说,下面是详细操作教程
    • 安装JDK
    • 安装Git
    • 安装Maven
    • 编译kkFileView源码
  • kkFileView安装和使用
    • 编译后获得安装包,进行解压
    • 修改配置文件
    • 执行在线安装,下载依赖
    • 启动并验证服务
    • 浏览器访问

概述

官方的描述是:kkFileView为文件文档在线预览解决方案,该项目使用流行的spring boot搭建,易上手和部署,基本支持主流办公文档的在线预览,如doc,docx,xls,xlsx,ppt,pptx,pdf,txt,zip,rar,图片,视频,音频等等
官方文档链接:https://kkview.cn/zh-cn/docs/home.html

为啥要自己进行源码编译

因为从4.0开始,官方就不再提供发行版(就是编译后的,可以直接安装使用的版本)下载,只提供源码。想要发行版就需要加入社群,当然是有偿入群。
当然,开源不易,应该支持这种有偿服务。所以不差钱的人可以不用往下看了,本文主要讲解的是想通过源码自己编译获取发行版的小伙伴。
在这里插入图片描述

我不懂Java代码,可以编译吗

可以的,本文介绍的方法,不需要进行Java代码层面的修改,简单点说就是不进行二次开发。最最重要 Apache 协议开源,代码 pull 下来想干嘛就干嘛

为什么写这篇教程

  • 首先,kkFileView确实非常优秀,集成到项目里,可以解决90%以上的文档解析(工作中能用的的文件类型基本都支持),用户体验非常好。
  • 第二,我在研究过程中发现,网上很少详细的教程,多数教程是教大家如何使用IDE进行代码编译,这就需要Java功底了。
  • 第三,编译的过程也是学习的过程,涨知识,学技能,自己动动手丰衣足食(省下¥99)。

废话不多说,下面是详细操作教程

安装JDK

  • 需要JDK版本 1.8+以上,我的版本是这个
    在这里插入图片描述
  • 安装过程就不啰嗦了,这类教程太多了。

安装Git

  • git版本没有严格要求,当然不安装也可以,就需要手动下载源码,然后上传到服务器上了。
  • 安装教程也不啰嗦,这类教程也很多。
    在这里插入图片描述

安装Maven

  • 这类教程也很多,我用的3.8版本,能正常编译通过,其他版本没有尝试,简单记录以下。
  • 下载maven安装包
wget https://dlcdn.apache.org/maven/maven-3/3.8.8/binaries/apache-maven-3.8.8-bin.tar.gz
  • Maven 下载后,将 Maven 解压到 /usr/local/maven
  • 配置环境变量

vim /etc/profile
以下是内容:包括JDK和Maven两块

export JAVA_HOME=/usr/local/jdk1.8.0_202
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
export PATH=$PATH:${JAVA_PATH}

MAVEN_HOME=/usr/local/maven/apache-maven-3.8.8
export PATH=${MAVEN_HOME}/bin:${PATH}

在这里插入图片描述

  • 查看maven安装是否正常
    在这里插入图片描述

编译kkFileView源码

  • 下载源码
地址:
git clone https://gitee.com/kekingcn/file-online-preview.git
未安装git的自己手动下载,然后上传,后续步骤一样。
码云代码地址:
https://gitee.com/kekingcn/file-online-preview

在这里插入图片描述

  • 使用maven进行编译
cd file-online-preview/
mvn clean package -DskipTests
然后就是漫长的等待,会自动下载所需的各种依赖,这里要保证你所用的网络要稳定。整个过程根据你机器和网络情况而定,我这里用了40多分钟
  • 编译完成后,会提示你编译后的发行版具体目录,有window和Linux2个版本,非常贴心!!!
    在这里插入图片描述

kkFileView安装和使用

编译后获得安装包,进行解压

解压到磁盘空间大的位置,后期kkfile解析文件都将存储在安装目录下file文件夹下。
tar -zxvf kkFileView-4.4.0.tar.gz

修改配置文件

配置文件修改
重点修改:端口号,和文件存储目录,file.dir:原始文件存放位置;Office.home:在线解析的文件存放位置。

修改配置文件
server.port = ${KK_SERVER_PORT:8808}

在这里插入图片描述

执行在线安装,下载依赖

进入bin目录,执行安装脚本
安装命令:
sh install.sh

在这里插入图片描述

启动并验证服务

进入bin目录,执行
sh startup.sh

浏览器访问

浏览器访问:IP:8808(配置文件设置的端口)
在这里插入图片描述
至此,大功告成!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1107625.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

开源贡献难吗?

本文整理自字节跳动 Flink SQL 技术负责人李本超在 CommunityOverCode Asia 2023 上的 Keynote 演讲,李本超根据自己在开源社区的贡献经历,基于他在贡献开源社区过程中的一些小故事和思考,如何克服困难,在开源社区取得突破&#x…

DNS压测工具-dnsperf的安装和使用(centos)

系统调优 系统调优脚本,保存为sh文件,chmod提权后执行即可 #!/bin/sh #系统全局允许分配的最大文件句柄数: sysctl -w fs.file-max2097152 sysctl -w fs.nr_open2097152 echo 2097152 > /proc/sys/fs/nr_open #允许当前会话 / 进程打开文…

1.JDK的安装方法以及环境变量的配置

学习Java的第一步应该从配置环境开始,这篇博文介绍了在哪下载安装包以及如何在windows电脑中配置,希望大家看完后可以独立安装 ~ 文章目录 一、下载安装包二、 安装路径配置三、 环境变量配置四、 验证是否配置成功 一、下载安装包 安装包可以从官网下载…

第三方软件测评单位可为企业带来哪些收益?

随着信息科技的发展,软件市场竞争也越来越大,软件企业为了更好的专注于产品开发,以及保障软件质量,会将软件测试交由第三方软件测评单位进行。 第三方软件测评,顾名思义,是由独立的、与软件开发商无关的专业…

Unity中Shader的XRay透视效果

文章目录 前言一、模拟菲涅尔效果1、获取 V 向量2、获取 N 向量3、点积输出效果4、模拟出菲涅尔效果(中间暗,周围亮) 二、实现 XRay 效果1、使用半透明排序、修改混合模式、加点颜色2、增加分层效果(使用 frac 函数,只取小数部分&…

CAPL如何实现27服务解锁

在文章《CANoe-如何实现27服务解锁》里,我们介绍了诊断控制台中如何实现27解锁,如果我想在CANoe中使用CAPL程序解锁的话,又要如何实现呢? CAPL脚本也是通过模拟手动操作来实现27解锁,所以步骤为: 发送10 03发送27 01接收67 01,获取seed值根据seed值和算法,计算出key值…

自5月以来,俄罗斯Sandworm黑客侵入了11家乌克兰电信公司

导语:据乌克兰计算机应急响应团队(CERT-UA)的最新报告称,自2023年5月至9月,俄罗斯政府支持的黑客组织Sandworm成功侵入了乌克兰的11家电信服务提供商。这一组织被认为与俄罗斯武装部队的GRU有关。 简介 根据乌克兰计算…

提高研发效率还得看Apipost

随着数字化转型的加速,API(应用程序接口)已经成为企业间沟通和数据交换的关键。而在API开发和管理过程中,API文档、调试、Mock和测试的协作显得尤为重要。Apipost正是这样一款一体化协作平台,旨在解决这些问题&#xf…

阿里内推强推的并发编程学习笔记,原理+实战+面试题,面面俱到!

并发编程 谈到并发编程,可能很多人都有过经验,甚至比我了解的更多。 那么并发与并行的区别又是什么? 并发编程是编程中的核心问题,实践中,当人们希望利用计算机处理一些现实世界问题,以及希望同时处理多…

使用DelayQueue的实现延时任务

1、背景 项目中经常会用到类似一些需要延迟执行的功能,比如缓存。java提供了DelayQueue来很轻松的实现这种功能。Delayed接口中的getDelay方法返回值小于等于0的时候,表示时间到达,可以从DelayQueue中通过take()方法取的到期的对象。到期对象…

电液比例负载控制变量泵PQ放大器

对驱动执行元件,仅供应所需最小限度的压力、流量的节能型泵控制系统。与专用功率放大器配合使用。流量和全截流压力按功率放大器的输入电流成比例地进行控制。在实际应用中,该控制系统与专用功率放大器配合使用,可以根据实际需求,…

Python学习基础笔记七十五——Python调用其他程序

Python经常被用来开发自动化程序。自动化程序往往需要调用其他的程序。 例如,我们可以代码中调用wget程序,而不是自己开发下载的代码。 这就是我们经常做的,在我们的Python程序中调佣其它程序,帮我们实现功能。 Python中调用外部…

python项目之网上商城的设计与实现(vue+django)

项目简介 网上商城的设计与实现实现了以下功能: 网上商城系统的开发设计按照系统应用功能划分分为了前端用户和后台用户。 通过网站平台实现首页商品信息的查看,同时可以结合需求进行在线的商品信息搜索,也可以按照系统首页提供的商品类别按…

什么是CSGO大行动,2023年CSGO大行动时间预测

什么是CSGO大行动,2023年CSGO大行动时间预测 什么是CSGO大行动,2023年CSGO大行动时间预测 那天群里在提大行动,不明所以的新同学在问,什么是大行动,是不是官方红锁大行动要来了?当然不是,别自己…

Windows/Linux系统ftp服务器搭建

文章目录 一、Windows系统ftp服务器搭建二、Linux系统ftp服务器搭建二、安装完成测试 一、Windows系统ftp服务器搭建 系统是2008r2,全图,按照图一步一步点就行了 找个有telnet的电脑测试一下端口,windows的ftp默认端口是21 返回…

常用的自动化测试框架

无论是在自动化测试实践,还是日常交流中,经常听到一个词:框架。之前学习自动化测试的过程中,一直对“框架”这个词知其然不知其所以然。 最近看了很多自动化相关的资料,加上自己的一些实践,算是对“框架”…

微机原理——汇编指令(上部)

文章目录 一、8086/8088 16位微处理器内部结构二、汇编指令集指令概述1、指令2、指令的分类3、指令的组成4、指令的存放 标志寄存器1、C标志——进位/借位标志2、A标志——辅助进位/辅助进位标志3、S标志——符号标志4、Z标志——零标志5、P标志——奇偶标志6、O标志——溢出标…

Leetcode 142 环形链表II(链表:快2慢1指针相遇即有环)

Leetcode 142 环形链表II(链表:快2慢1指针相遇即有环) 解法1 https://leetcode.cn/problems/linked-list-cycle-ii/description/ 解法1 🔴1.【有无环】快慢指针,快指针每次走两步,慢指针每次走一步&#xf…

通过开发者工具-网络排查响应时间过长的问题

关键词:network 网络 pending 开发者工具 有时候我们会发现某次http请求花费了很长时间,比如会花费十几秒,那么我们可以通过开发者工具的网络和其他一些工具来分析请求时间过长的原因 Dev Tool 中时间线各阶段代表的意义 分别用edge、chorm…

单链表经典OJ题:反转链表

题目: 给你单链表的头节点 head ,i请你反转链表,并返回反转后的链表。 图例: 分析: 根据链表的特征,反转链表的本质便是改变节点内部的指针方向。 将原先指向下一个节点的指针进行修改,将其的…