Linux启动KKfileview文件在线浏览时报错:启动office组件失败,请检查office组件是否可用
目录
1、导论
2、报错信息
3、问题分析
4、解决方法
4.1、下载
4.2、安装步骤

1、导论
今天进行项目部署时,遇到了一个问题。在启动kkfileview时,出现了报错异常:
2024-06-09 06:36:44.765 ERROR 1 --- [ main] cn.keking.service.OfficePluginManager : 启动office组件失败,请检查office组件是否可用
2、报错信息
_ _ ______ _ _ __ __ _| | | | | ____| (_) | | \ \ / / (_)| | __ | | __ | |__ _ | | ___ \ \ / / _ ___ __ __| |/ / | |/ / | __| | | | | / _ \ \ \/ / | | / _ \ \ \ /\ / /| < | < | | | | | | | __/ \ / | | | __/ \ V V /|_|\_\ |_|\_\ |_| |_| |_| \___| \/ |_| \___| \_/\_/=> Spring Boot :: (v2.4.2) QQ1 :: 613025121=> kkFileView :: (v4.1.0-SNAPSHOT) QQ2 :: 484680571=> github :: https://github.com/kekingcn/kkFileView=> gitee :: https://gitee.com/kekingcn/file-online-preview2024-06-09 06:36:34.612 INFO 1 --- [ main] org.eclipse.jetty.util.log : Logging initialized @3328ms to org.eclipse.jetty.util.log.Slf4jLog
2024-06-09 06:36:34.830 INFO 1 --- [ main] o.s.b.w.e.j.JettyServletWebServerFactory : Server initialized with port: 8012
2024-06-09 06:36:34.834 INFO 1 --- [ main] org.eclipse.jetty.server.Server : jetty-9.4.35.v20201120; built: 2020-11-20T21:17:03.964Z; git: bdc54f03a5e0a7e280fab27f55c3c75ee8da89fb; jvm 1.8.0_251-b08
2024-06-09 06:36:34.866 INFO 1 --- [ main] o.e.j.s.h.ContextHandler.application : Initializing Spring embedded WebApplicationContext
2024-06-09 06:36:34.866 INFO 1 --- [ main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 1514 ms
2024-06-09 06:36:35.032 INFO 1 --- [ main] org.eclipse.jetty.server.session : DefaultSessionIdManager workerName=node0
2024-06-09 06:36:35.032 INFO 1 --- [ main] org.eclipse.jetty.server.session : No SessionScavenger set, using defaults
2024-06-09 06:36:35.033 INFO 1 --- [ main] org.eclipse.jetty.server.session : node0 Scavenging every 600000ms
2024-06-09 06:36:35.042 INFO 1 --- [ main] o.e.jetty.server.handler.ContextHandler : Started o.s.b.w.e.j.JettyEmbeddedWebAppContext@74e52303{application,/,[file:///tmp/jetty-docbase.8012.3689503957133423006/],AVAILABLE}
2024-06-09 06:36:35.043 INFO 1 --- [ main] org.eclipse.jetty.server.Server : Started @3762ms
2024-06-09 06:36:35.065 INFO 1 --- [ main] f.a.AutowiredAnnotationBeanPostProcessor : Autowired annotation is not supported on static methods: public static void cn.keking.config.ConfigConstants.setFileUploadDisable(java.lang.Boolean)
2024-06-09 06:36:35.230 INFO 1 --- [ main] cn.keking.service.FileConvertQueueTask : 队列处理文件转换任务启动完成
2024-06-09 06:36:35.323 INFO 1 --- [ main] o.a.j.office.ProcessPoolOfficeManager : ProcessManager implementation is LinuxProcessManager
2024-06-09 06:36:35.339 WARN 1 --- [ProcessThread-0] o.a.jodconverter.office.OfficeProcess : profile dir '/tmp/.jodconverter_socket_host-127.0.0.1_port-2001' already exists; deleting
2024-06-09 06:36:35.399 INFO 1 --- [ProcessThread-0] o.a.jodconverter.office.OfficeProcess : starting process with acceptString 'socket,host=127.0.0.1,port=2001,tcpNoDelay=1' and profileDir '/tmp/.jodconverter_socket_host-127.0.0.1_port-2001'
2024-06-09 06:36:35.407 INFO 1 --- [ProcessThread-0] o.a.jodconverter.office.OfficeProcess : started process; pid = 35
2024-06-09 06:36:38.709 WARN 1 --- [ProcessThread-0] o.a.j.office.ManagedOfficeProcess : office process died with exit code 81; restarting it
2024-06-09 06:36:38.723 INFO 1 --- [ProcessThread-0] o.a.jodconverter.office.OfficeProcess : starting process with acceptString 'socket,host=127.0.0.1,port=2001,tcpNoDelay=1' and profileDir '/tmp/.jodconverter_socket_host-127.0.0.1_port-2001'
2024-06-09 06:36:38.727 INFO 1 --- [ProcessThread-0] o.a.jodconverter.office.OfficeProcess : started process; pid = 44
2024-06-09 06:36:41.395 INFO 1 --- [ProcessThread-0] o.a.j.office.OfficeConnection : connected: 'socket,host=127.0.0.1,port=2001,tcpNoDelay=1'
2024-06-09 06:36:41.415 INFO 1 --- [ProcessThread-1] o.a.jodconverter.office.OfficeProcess : starting process with acceptString 'socket,host=127.0.0.1,port=2002,tcpNoDelay=1' and profileDir '/tmp/.jodconverter_socket_host-127.0.0.1_port-2002'
2024-06-09 06:36:41.420 INFO 1 --- [ProcessThread-1] o.a.jodconverter.office.OfficeProcess : started process; pid = 60
2024-06-09 06:36:44.697 WARN 1 --- [ProcessThread-1] o.a.j.office.ManagedOfficeProcess : office process died with exit code 81; restarting it
2024-06-09 06:36:44.752 INFO 1 --- [ProcessThread-1] o.a.jodconverter.office.OfficeProcess : starting process with acceptString 'socket,host=127.0.0.1,port=2002,tcpNoDelay=1' and profileDir '/tmp/.jodconverter_socket_host-127.0.0.1_port-2002'
2024-06-09 06:36:44.765 ERROR 1 --- [ main] cn.keking.service.OfficePluginManager : 启动office组件失败,请检查office组件是否可用
2024-06-09 06:36:44.828 WARN 1 --- [ main] ConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'officeFilePreviewImpl' defined in URL [jar:file:/opt/kkFileView-4.1.0-SNAPSHOT/bin/kkFileView-4.1.0-SNAPSHOT.jar!/BOOT-INF/classes!/cn/keking/service/impl/OfficeFilePreviewImpl.class]: Unsatisfied dependency expressed through constructor parameter 1; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'officeToPdfService' defined in URL [jar:file:/opt/kkFileView-4.1.0-SNAPSHOT/bin/kkFileView-4.1.0-SNAPSHOT.jar!/BOOT-INF/classes!/cn/keking/service/OfficeToPdfService.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'officePluginManager': Invocation of init method failed; nested exception is org.artofsolving.jodconverter.office.OfficeException: failed to start and connect
2024-06-09 06:36:45.078 INFO 1 --- [ main] org.eclipse.jetty.server.session : node0 Stopped scavenging
2024-06-09 06:36:45.082 INFO 1 --- [ main] o.e.jetty.server.handler.ContextHandler : Stopped o.s.b.w.e.j.JettyEmbeddedWebAppContext@74e52303{application,/,[file:///tmp/jetty-docbase.8012.3689503957133423006/],STOPPED}
2024-06-09 06:36:45.110 INFO 1 --- [ main] ConditionEvaluationReportLoggingListener :Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2024-06-09 06:36:45.199 ERROR 1 --- [ main] o.s.boot.SpringApplication : Application run failedorg.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'officeFilePreviewImpl' defined in URL [jar:file:/opt/kkFileView-4.1.0-SNAPSHOT/bin/kkFileView-4.1.0-SNAPSHOT.jar!/BOOT-INF/classes!/cn/keking/service/impl/OfficeFilePreviewImpl.class]: Unsatisfied dependency expressed through constructor parameter 1; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'officeToPdfService' defined in URL [jar:file:/opt/kkFileView-4.1.0-SNAPSHOT/bin/kkFileView-4.1.0-SNAPSHOT.jar!/BOOT-INF/classes!/cn/keking/service/OfficeToPdfService.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'officePluginManager': Invocation of init method failed; nested exception is org.artofsolving.jodconverter.office.OfficeException: failed to start and connectat org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:800) ~[spring-beans-5.3.3.jar!/:5.3.3]at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:229) ~[spring-beans-5.3.3.jar!/:5.3.3]at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1356) ~[spring-beans-5.3.3.jar!/:5.3.3]at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1206) ~[spring-beans-5.3.3.jar!/:5.3.3]at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:571) ~[spring-beans-5.3.3.jar!/:5.3.3]at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:531) ~[spring-beans-5.3.3.jar!/:5.3.3]at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) ~[spring-beans-5.3.3.jar!/:5.3.3]at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-5.3.3.jar!/:5.3.3]at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) ~[spring-beans-5.3.3.jar!/:5.3.3]at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) ~[spring-beans-5.3.3.jar!/:5.3.3]at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:944) ~[spring-beans-5.3.3.jar!/:5.3.3]at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:923) ~[spring-context-5.3.3.jar!/:5.3.3]at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:588) ~[spring-context-5.3.3.jar!/:5.3.3]at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:144) ~[spring-boot-2.4.2.jar!/:2.4.2]at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:767) ~[spring-boot-2.4.2.jar!/:2.4.2]at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:759) ~[spring-boot-2.4.2.jar!/:2.4.2]at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:426) ~[spring-boot-2.4.2.jar!/:2.4.2]at org.springframework.boot.SpringApplication.run(SpringApplication.java:326) ~[spring-boot-2.4.2.jar!/:2.4.2]at org.springframework.boot.builder.SpringApplicationBuilder.run(SpringApplicationBuilder.java:144) [spring-boot-2.4.2.jar!/:2.4.2]at cn.keking.ServerMain.main(ServerMain.java:27) [classes!/:na]at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_251]at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_251]at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_251]at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_251]at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:49) [kkFileView-4.1.0-SNAPSHOT.jar:na]at org.springframework.boot.loader.Launcher.launch(Launcher.java:107) [kkFileView-4.1.0-SNAPSHOT.jar:na]at org.springframework.boot.loader.Launcher.launch(Launcher.java:58) [kkFileView-4.1.0-SNAPSHOT.jar:na]at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:88) [kkFileView-4.1.0-SNAPSHOT.jar:na]
Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'officeToPdfService' defined in URL [jar:file:/opt/kkFileView-4.1.0-SNAPSHOT/bin/kkFileView-4.1.0-SNAPSHOT.jar!/BOOT-INF/classes!/cn/keking/service/OfficeToPdfService.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'officePluginManager': Invocation of init method failed; nested exception is org.artofsolving.jodconverter.office.OfficeException: failed to start and connectat org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:800) ~[spring-beans-5.3.3.jar!/:5.3.3]at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:229) ~[spring-beans-5.3.3.jar!/:5.3.3]at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1356) ~[spring-beans-5.3.3.jar!/:5.3.3]at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1206) ~[spring-beans-5.3.3.jar!/:5.3.3]at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:571) ~[spring-beans-5.3.3.jar!/:5.3.3]at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:531) ~[spring-beans-5.3.3.jar!/:5.3.3]at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) ~[spring-beans-5.3.3.jar!/:5.3.3]at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-5.3.3.jar!/:5.3.3]at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) ~[spring-beans-5.3.3.jar!/:5.3.3]at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) ~[spring-beans-5.3.3.jar!/:5.3.3]at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) ~[spring-beans-5.3.3.jar!/:5.3.3]at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1380) ~[spring-beans-5.3.3.jar!/:5.3.3]at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1300) ~[spring-beans-5.3.3.jar!/:5.3.3]at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:887) ~[spring-beans-5.3.3.jar!/:5.3.3]at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:791) ~[spring-beans-5.3.3.jar!/:5.3.3]... 27 common frames omitted
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'officePluginManager': Invocation of init method failed; nested exception is org.artofsolving.jodconverter.office.OfficeException: failed to start and connectat org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:160) ~[spring-beans-5.3.3.jar!/:5.3.3]at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:429) ~[spring-beans-5.3.3.jar!/:5.3.3]at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1780) ~[spring-beans-5.3.3.jar!/:5.3.3]at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:609) ~[spring-beans-5.3.3.jar!/:5.3.3]at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:531) ~[spring-beans-5.3.3.jar!/:5.3.3]at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) ~[spring-beans-5.3.3.jar!/:5.3.3]at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-5.3.3.jar!/:5.3.3]at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) ~[spring-beans-5.3.3.jar!/:5.3.3]at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) ~[spring-beans-5.3.3.jar!/:5.3.3]at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) ~[spring-beans-5.3.3.jar!/:5.3.3]at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1380) ~[spring-beans-5.3.3.jar!/:5.3.3]at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1300) ~[spring-beans-5.3.3.jar!/:5.3.3]at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:887) ~[spring-beans-5.3.3.jar!/:5.3.3]at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:791) ~[spring-beans-5.3.3.jar!/:5.3.3]... 41 common frames omitted
Caused by: org.artofsolving.jodconverter.office.OfficeException: failed to start and connectat org.artofsolving.jodconverter.office.ManagedOfficeProcess.startAndWait(ManagedOfficeProcess.java:58) ~[office-plugin-4.1.0-SNAPSHOT.jar!/:na]at org.artofsolving.jodconverter.office.PooledOfficeManager.start(PooledOfficeManager.java:96) ~[office-plugin-4.1.0-SNAPSHOT.jar!/:na]at org.artofsolving.jodconverter.office.ProcessPoolOfficeManager.start(ProcessPoolOfficeManager.java:56) ~[office-plugin-4.1.0-SNAPSHOT.jar!/:na]at cn.keking.service.OfficePluginManager.startOfficeManager(OfficePluginManager.java:76) ~[classes!/:na]at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_251]at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_251]at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_251]at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_251]at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:389) ~[spring-beans-5.3.3.jar!/:5.3.3]at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeInitMethods(InitDestroyAnnotationBeanPostProcessor.java:333) ~[spring-beans-5.3.3.jar!/:5.3.3]at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:157) ~[spring-beans-5.3.3.jar!/:5.3.3]... 54 common frames omitted
Caused by: java.util.concurrent.ExecutionException: org.artofsolving.jodconverter.office.OfficeException: could not establish connectionat java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[na:1.8.0_251]at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[na:1.8.0_251]at org.artofsolving.jodconverter.office.ManagedOfficeProcess.startAndWait(ManagedOfficeProcess.java:56) ~[office-plugin-4.1.0-SNAPSHOT.jar!/:na]... 64 common frames omitted
Caused by: org.artofsolving.jodconverter.office.OfficeException: could not establish connectionat org.artofsolving.jodconverter.office.ManagedOfficeProcess.doStartProcessAndConnect(ManagedOfficeProcess.java:136) ~[office-plugin-4.1.0-SNAPSHOT.jar!/:na]at org.artofsolving.jodconverter.office.ManagedOfficeProcess.access$000(ManagedOfficeProcess.java:25) ~[office-plugin-4.1.0-SNAPSHOT.jar!/:na]at org.artofsolving.jodconverter.office.ManagedOfficeProcess$1.run(ManagedOfficeProcess.java:52) ~[office-plugin-4.1.0-SNAPSHOT.jar!/:na]at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[na:1.8.0_251]at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[na:1.8.0_251]at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[na:1.8.0_251]at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[na:1.8.0_251]at java.lang.Thread.run(Thread.java:748) ~[na:1.8.0_251]
Caused by: java.lang.IllegalStateException: process with acceptString 'socket,host=127.0.0.1,port=2002' started but its pid could not be foundat org.artofsolving.jodconverter.office.OfficeProcess.start(OfficeProcess.java:90) ~[office-plugin-4.1.0-SNAPSHOT.jar!/:na]at org.artofsolving.jodconverter.office.ManagedOfficeProcess$6.attempt(ManagedOfficeProcess.java:127) ~[office-plugin-4.1.0-SNAPSHOT.jar!/:na]at org.artofsolving.jodconverter.office.Retryable.execute(Retryable.java:34) ~[office-plugin-4.1.0-SNAPSHOT.jar!/:na]at org.artofsolving.jodconverter.office.Retryable.execute(Retryable.java:24) ~[office-plugin-4.1.0-SNAPSHOT.jar!/:na]at org.artofsolving.jodconverter.office.ManagedOfficeProcess.doStartProcessAndConnect(ManagedOfficeProcess.java:134) ~[office-plugin-4.1.0-SNAPSHOT.jar!/:na]... 7 common frames omitted
3、问题分析
通过阅读官方更新内容得知,KKFileView在4.0.0版本之后,将底层集成 OpenOffice 替换为了 LibreOffice,而 OpenOffice 本身在linux的安装盘中都会携带,不需要自行安装。
而此次更新将底层替换成了 LibreOffice,由于 linux 中没有,自然就会出现报错。kkFileView v4.0.0 发布,文件文档在线预览解决方案 - OSCHINA - 中文开源技术交流社区
https://www.oschina.net/news/149206/kkfileview-4-0-released

4、解决方法
4.1、下载
既然没有 LibreOffice,那么下载一个即可,前往官方下载:Download LibreOffice | LibreOffice - Free Office Suite - Based on OpenOffice - Compatible with Microsoft
https://www.libreoffice.org/download/download-libreoffice/
选择下载 “LibreOffice_7.6.7_Linux_x86-64_rpm.tar.gz”

4.2、安装步骤
- 上传:首先将安装包上传到 linux 服务器
- 删除:在安装之前,先删除已经安装的 LibreOffice: yum remove libreoffice*
- 解压: tar -xvf LibreOffice_7.6.7_Linux_x86-64_rpm.tar.gz
- 安装: cd LibreOffice_7.6.7_Linux_x86-64_rpm/RPMS yum localinstall *.rpm
完成以上步骤后,重新启动KKFileView就可以看到运行成功了!

【博主推荐】
使用STS临时访问凭证通过客户端直连OSS对象存储服务器_oss sts yourrolesessionname-CSDN博客
https://blog.csdn.net/zzzzzhxxx/article/details/139377927?spm=1001.2014.3001.5501【Java多线程】面试常考 —— JUC(java.util.concurrent) 的常见类_java concurrent哪些类-CSDN博客
https://blog.csdn.net/zzzzzhxxx/article/details/136777947?spm=1001.2014.3001.5501【网络原理】TCP 协议中比较重要的一些特性(三)-CSDN博客
https://blog.csdn.net/zzzzzhxxx/article/details/136597348?spm=1001.2014.3001.5501
如果觉得作者写的不错,求给博主一个点赞支持一下,你们的支持是我更新的最大动力!
如果觉得作者写的不错,求给博主一个点赞支持一下,你们的支持是我更新的最大动力!
如果觉得作者写的不错,求给博主一个点赞支持一下,你们的支持是我更新的最大动力!
相关文章:
Linux启动KKfileview文件在线浏览时报错:启动office组件失败,请检查office组件是否可用
目录 1、导论 2、报错信息 3、问题分析 4、解决方法 4.1、下载 4.2、安装步骤 1、导论 今天进行项目部署时,遇到了一个问题。在启动kkfileview时,出现了报错异常: 2024-06-09 06:36:44.765 ERROR 1 --- [ main] cn.keking.service.Of…...
React <> </>的用法
React <> </>的用法 介绍为什么使用 <>?例子解释 关于顶级元素总结 介绍 在 React 中,使用 <> 表示一个空标签或片段(Fragment),这是一个简洁的方式来包裹一…...
is not null 、StringUtils.isNotEmpty和StringUtils.isNotBlank之间的区别?
这三者主要是针对对象是否为空、是否为空串和是否为空白字符串有不同的功能。 is not null 只是说明该对象不为空,没有考虑是否为空串和空白字符串。 StringUtils.isNotEmpty检查字符串是否不为 null且长度大于零,不考虑字符串中的空白字符。 StringU…...
Git使用-gitlab上面的项目如何整到本地的idea中
场景 一般我们在开发项目或者接手某个项目时,基本都要接触Git,比如上传项目代码,下载同事给你的交接代码等等。 这是一个基本功,小小整理一下日常操作中的使用。 第一步:在 GitLab 上找到你要克隆的项目,复…...
活体检验API在Java、Python、PHP中的使用教程
活体检验API是一种基于生物特征的身份验证技术,通过分析和识别用户的生物信息来确认其身份。这种技术广泛应用于各种领域,如金融、安全、社交媒体等,以提高身份验证的安全性和准确性。以下是描述”活体检验API”背景的一些关键点:…...
智能计算系统-概述
1、人工智能技术分层 2、人工智能方向人才培养 3、课程体系的建议 4、智能系统课程对学生的价值 5、智能计算系统对老师的价值 6、什么是智能计算系统 7、智能计算系统的形态 8、智能计算系统具有重大价值 9、智能计算系统的三大困难 10、开创深度学习处理器方向 11、寒武纪的国…...
SM5101 SOP-8 充电+触摸+发执丝控制多合一IC触摸打火机专用IC
SM5101 SOP-8 2.7V 涓流充电 具电池过充过放 触摸控制 发热丝电流控制多功能为一体专用芯片 昱灿-海川 SM5101 SOP-8 充电触摸发执丝控制多合一IC触摸打火机方案 !!! 简介: SM5101是一款针对电子点烟器的专用芯片,具…...
Mysql-题目02
下面列出的( DBMS )是数据库管理系统的简称。 A、DB(数据库) B、DBA C、DBMS(数据库管理系统) D、DBS(数据库系统) 以下选项中,( 概念模式 )面向数据库设计人员&…...
Swift开发——循环执行方式
本文将介绍 Swift 语言的循环执行方式 01、循环执行方式 在Swift语言中,主要有两种循环执行控制方式: for-in结构和while结构。while结构又细分为当型while结构和直到型while结构,后者称为repeat-while结构。下面首先介绍for-in结构。 循环控制方式for-in结构可用于区间中的…...
Navicat和SQLynx产品功能比较一(整体比较)
Navicat和SQLynx都是数据库管理工具,在过去的二十年中,国内用户主要是使用Navicat偏多,一般是个人简单开发需要,数据量一般不大,开发相对简单。SQLynx是最近几年的数据库管理工具,Web开发,桌面版…...
pip 配置缓存路径
在windows操作平台,默认情况,pip下使用的系统目录 C:\Users\用名名称\AppData\Local\pip C盘是系统盘,如果常常使用pip安装会占用大量的空间很快就满,这时候就有必要变更一下缓存保存路径了。 pip 配置缓存路径: Win…...
大数据开发语言Scala(一) - Scala入门
引言 在当今的大数据时代,数据量和数据处理的复杂性不断增加,传统的编程语言已经难以满足需求。Scala作为一门新兴的编程语言,以其简洁、强大和高效的特性,迅速成为大数据开发的热门选择。本文将详细介绍Scala语言的基础知识&…...
大模型中的计算精度——FP32, FP16, bfp16之类的都是什么???
大模型中的计算精度——FP32, FP16, bfp16之类的都是什么??? 这些精度是用来干嘛的??混合精度 mixed precision training什么是混合精度?怎么转换呢? 为什么大语言模型通常使用FP32精度训练量化…...
在矩池云使用GLM-4的详细指南(无感连GitHubHuggingFace)
GLM-4-9B 是智谱 AI 推出的最新一代预训练模型 GLM-4 系列中的开源版本,在多项测试中表现出超越已有同等规模开源模型的性能,它能兼顾多轮对话、网页浏览、代码执行、多语言、长文本推理等多种功能,性能更加强大。其多模态语言模型GLM-4V-9B在…...
大模型日报2024-06-15
大模型日报 2024-06-15 大模型资讯 新技术提升大型语言模型推理能力 摘要: 一种新技术使得像GPT-4这样的大型语言模型能够通过编写Python代码,更准确地解决数值或符号推理任务。 大型语言模型革命性提升蛋白质序列理解 摘要: 研究人员将蛋白质序列与自然语言进行类比…...
【YOLO系列】YOLOv1学习(PyTorch)原理加代码
论文网址:https://arxiv.org/pdf/1506.02640 训练集博客链接:目标检测实战篇1——数据集介绍(PASCAL VOC,MS COCO)-CSDN博客 代码文件:在我资源里,但是好像还在审核,大家可以先可以,如果没有的…...
Postman接口测试工具详解:揭秘API测试的终极利器
在现代软件开发中,API接口测试是确保应用程序质量和可靠性的重要环节。Postman,作为一款功能强大且用户友好的API测试工具,受到了广大开发者和测试人员的青睐。本文将详细解析Postman的功能和优势,带你领略这款工具的魅力。 一、…...
紫光展锐5G处理器T750__国产手机芯片5G方案
展锐T750核心板采用6nm EUV制程工艺,CPU架构采用了八核设计,其中包括两个主频为2.0GHz的Arm Cortex-A76性能核心和六个主频为1.8GHz的A55小核。这种组合使得T750具备卓越的处理能力,并能在节能的同时提供出色的性能表现。该核心模块还搭载了M…...
基于深度学习的红外船舶检测识别分类完整实现数据集8000+张
随着遥感技术的快速发展,包括无人机、卫星等,红外图像在船舶检测识别中的作用日益凸显。相对于可见光图像,红外图像具有在夜晚和恶劣天气条件下高效检测识别船舶的天然优势。近年来,深度学习作为一种强大的图像处理技术࿰…...
SpringCloud跨服务远程调用
随着项目的使用者越来越多,项目承担的压力也会越来越大,为了让我们的项目能服务更多的使用者,我们不得不需要把我们的单体项目拆分成多个微服务,就比如把一个商城系统拆分成用户系统,商品系统,订单系统&…...
使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式
一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明:假设每台服务器已…...
Cursor实现用excel数据填充word模版的方法
cursor主页:https://www.cursor.com/ 任务目标:把excel格式的数据里的单元格,按照某一个固定模版填充到word中 文章目录 注意事项逐步生成程序1. 确定格式2. 调试程序 注意事项 直接给一个excel文件和最终呈现的word文件的示例,…...
synchronized 学习
学习源: https://www.bilibili.com/video/BV1aJ411V763?spm_id_from333.788.videopod.episodes&vd_source32e1c41a9370911ab06d12fbc36c4ebc 1.应用场景 不超卖,也要考虑性能问题(场景) 2.常见面试问题: sync出…...
【OSG学习笔记】Day 18: 碰撞检测与物理交互
物理引擎(Physics Engine) 物理引擎 是一种通过计算机模拟物理规律(如力学、碰撞、重力、流体动力学等)的软件工具或库。 它的核心目标是在虚拟环境中逼真地模拟物体的运动和交互,广泛应用于 游戏开发、动画制作、虚…...
【人工智能】神经网络的优化器optimizer(二):Adagrad自适应学习率优化器
一.自适应梯度算法Adagrad概述 Adagrad(Adaptive Gradient Algorithm)是一种自适应学习率的优化算法,由Duchi等人在2011年提出。其核心思想是针对不同参数自动调整学习率,适合处理稀疏数据和不同参数梯度差异较大的场景。Adagrad通…...
深入理解JavaScript设计模式之单例模式
目录 什么是单例模式为什么需要单例模式常见应用场景包括 单例模式实现透明单例模式实现不透明单例模式用代理实现单例模式javaScript中的单例模式使用命名空间使用闭包封装私有变量 惰性单例通用的惰性单例 结语 什么是单例模式 单例模式(Singleton Pattern&#…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院挂号小程序
一、开发准备 环境搭建: 安装DevEco Studio 3.0或更高版本配置HarmonyOS SDK申请开发者账号 项目创建: File > New > Create Project > Application (选择"Empty Ability") 二、核心功能实现 1. 医院科室展示 /…...
抖音增长新引擎:品融电商,一站式全案代运营领跑者
抖音增长新引擎:品融电商,一站式全案代运营领跑者 在抖音这个日活超7亿的流量汪洋中,品牌如何破浪前行?自建团队成本高、效果难控;碎片化运营又难成合力——这正是许多企业面临的增长困局。品融电商以「抖音全案代运营…...
Spring AI 入门:Java 开发者的生成式 AI 实践之路
一、Spring AI 简介 在人工智能技术快速迭代的今天,Spring AI 作为 Spring 生态系统的新生力量,正在成为 Java 开发者拥抱生成式 AI 的最佳选择。该框架通过模块化设计实现了与主流 AI 服务(如 OpenAI、Anthropic)的无缝对接&…...
Angular微前端架构:Module Federation + ngx-build-plus (Webpack)
以下是一个完整的 Angular 微前端示例,其中使用的是 Module Federation 和 npx-build-plus 实现了主应用(Shell)与子应用(Remote)的集成。 🛠️ 项目结构 angular-mf/ ├── shell-app/ # 主应用&…...
