(from github.com/fanjinfei)
The above error is caused by wrong version of jackson-databind jar. After copy jackson-databind-2.8.6.jar from fess to elasticsearch, there is the following error log(admin gui not working):
[2017-11-28T10:05:56,027][DEBUG][o.e.a.a.i.m.p.TransportPutMappingAction] [node-1] failed to put mappings on indices [[[fess.20171128/S8H_6actTC66mRBqAuRezw]]], type [doc]
org.elasticsearch.ElasticsearchException: profile format error in 'profiles/ar'
at org.codelibs.elasticsearch.langfield.detect.LangDetectorFactory.lambda$create$1(LangDetectorFactory.java:103) ~[?:?]
at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_131]
at org.codelibs.elasticsearch.langfield.detect.LangDetectorFactory.create(LangDetectorFactory.java:94) ~[?:?]
at org.codelibs.elasticsearch.langfield.index.mapper.LangStringFieldMapper.<init>(LangStringFieldMapper.java:449) ~[?:?]
at org.codelibs.elasticsearch.langfield.index.mapper.LangStringFieldMapper$Builder.build(LangStringFieldMapper.java:204) ~[?:?]
at org.codelibs.elasticsearch.langfield.index.mapper.LangStringFieldMapper$Builder.build(LangStringFieldMapper.java:114) ~[?:?]
at org.elasticsearch.index.mapper.ObjectMapper$Builder.build(ObjectMapper.java:143) ~[elasticsearch-5.6.4.jar:5.6.4]
at org.elasticsearch.index.mapper.DocumentMapper$Builder.<init>(DocumentMapper.java:69) ~[elasticsearch-5.6.4.jar:5.6.4]
at org.elasticsearch.index.mapper.DocumentMapperParser.parse(DocumentMapperParser.java:111) ~[elasticsearch-5.6.4.jar:5.6.4]
at org.elasticsearch.index.mapper.DocumentMapperParser.parse(DocumentMapperParser.java:91) ~[elasticsearch-5.6.4.jar:5.6.4]
at org.elasticsearch.index.mapper.MapperService.parse(MapperService.java:644) ~[elasticsearch-5.6.4.jar:5.6.4]
at org.elasticsearch.cluster.metadata.MetaDataMappingService$PutMappingExecutor.applyRequest(MetaDataMappingService.java:264) ~[elasticsearch-5.6.4.jar:5.6.4]
at org.elasticsearch.cluster.metadata.MetaDataMappingService$PutMappingExecutor.execute(MetaDataMappingService.java:230) ~[elasticsearch-5.6.4.jar:5.6.4]
at org.elasticsearch.cluster.service.ClusterService.executeTasks(ClusterService.java:634) ~[elasticsearch-5.6.4.jar:5.6.4]
at org.elasticsearch.cluster.service.ClusterService.calculateTaskOutputs(ClusterService.java:612) ~[elasticsearch-5.6.4.jar:5.6.4]
at org.elasticsearch.cluster.service.ClusterService.runTasks(ClusterService.java:571) [elasticsearch-5.6.4.jar:5.6.4]
at org.elasticsearch.cluster.service.ClusterService$ClusterServiceTaskBatcher.run(ClusterService.java:263) [elasticsearch-5.6.4.jar:5.6.4]
at org.elasticsearch.cluster.service.TaskBatcher.runIfNotProcessed(TaskBatcher.java:150) [elasticsearch-5.6.4.jar:5.6.4]
at org.elasticsearch.cluster.service.TaskBatcher$BatchedTask.run(TaskBatcher.java:188) [elasticsearch-5.6.4.jar:5.6.4]
at org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingRunnable.run(ThreadContext.java:569) [elasticsearch-5.6.4.jar:5.6.4]
at org.elasticsearch.common.util.concurrent.PrioritizedEsThreadPoolExecutor$TieBreakingPrioritizedRunnable.runAndClean(PrioritizedEsThreadPoolExecutor.java:247) [elasticsearch-5.6.4.jar:5.6.4]
at org.elasticsearch.common.util.concurrent.PrioritizedEsThreadPoolExecutor$TieBreakingPrioritizedRunnable.run(PrioritizedEsThreadPoolExecutor.java:210) [elasticsearch-5.6.4.jar:5.6.4]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_131]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_131]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_131]
Caused by: java.security.AccessControlException: access denied ("java.lang.RuntimePermission" "accessDeclaredMembers")
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:472) ~[?:1.8.0_131]
at java.security.AccessController.checkPermission(AccessController.java:884) ~[?:1.8.0_131]
at java.lang.SecurityManager.checkPermission(SecurityManager.java:549) ~[?:1.8.0_131]
at java.lang.Class.checkMemberAccess(Class.java:2348) ~[?:1.8.0_131]
at java.lang.Class.getDeclaredFields(Class.java:1915) ~[?:1.8.0_131]
at com.fasterxml.jackson.databind.util.ClassUtil.getDeclaredFields(ClassUtil.java:937) ~[jackson-databind-2.8.6.jar:2.8.6]
at com.fasterxml.jackson.databind.introspect.AnnotatedClass._findFields(AnnotatedClass.java:817) ~[jackson-databind-2.8.6.jar:2.8.6]
at com.fasterxml.jackson.databind.introspect.AnnotatedClass.resolveFields(AnnotatedClass.java:583) ~[jackson-databind-2.8.6.jar:2.8.6]
at com.fasterxml.jackson.databind.introspect.AnnotatedClass.fields(AnnotatedClass.java:353) ~[jackson-databind-2.8.6.jar:2.8.6]
at com.fasterxml.jackson.databind.introspect.POJOPropertiesCollector._addFields(POJOPropertiesCollector.java:368) ~[jackson-databind-2.8.6.jar:2.8.6]
at com.fasterxml.jackson.databind.introspect.POJOPropertiesCollector.collectAll(POJOPropertiesCollector.java:301) ~[jackson-databind-2.8.6.jar:2.8.6]
at com.fasterxml.jackson.databind.introspect.POJOPropertiesCollector.getPropertyMap(POJOPropertiesCollector.java:266) ~[jackson-databind-2.8.6.jar:2.8.6]
at com.fasterxml.jackson.databind.introspect.POJOPropertiesCollector.getProperties(POJOPropertiesCollector.java:158) ~[jackson-databind-2.8.6.jar:2.8.6]
at com.fasterxml.jackson.databind.introspect.BasicBeanDescription._properties(BasicBeanDescription.java:144) ~[jackson-databind-2.8.6.jar:2.8.6]
at com.fasterxml.jackson.databind.introspect.BasicBeanDescription.findProperties(BasicBeanDescription.java:219) ~[jackson-databind-2.8.6.jar:2.8.6]
at com.fasterxml.jackson.databind.deser.BasicDeserializerFactory._findCreatorsFromProperties(BasicDeserializerFactory.java:332) ~[jackson-databind-2.8.6.jar:2.8.6]
at com.fasterxml.jackson.databind.deser.BasicDeserializerFactory._constructDefaultValueInstantiator(BasicDeserializerFactory.java:314) ~[jackson-databind-2.8.6.jar:2.8.6]
at com.fasterxml.jackson.databind.deser.BasicDeserializerFactory.findValueInstantiator(BasicDeserializerFactory.java:253) ~[jackson-databind-2.8.6.jar:2.8.6]
at com.fasterxml.jackson.databind.deser.BeanDeserializerFactory.buildBeanDeserializer(BeanDeserializerFactory.java:219) ~[jackson-databind-2.8.6.jar:2.8.6]
at com.fasterxml.jackson.databind.deser.BeanDeserializerFactory.createBeanDeserializer(BeanDeserializerFactory.java:141) ~[jackson-databind-2.8.6.jar:2.8.6]
at com.fasterxml.jackson.databind.deser.DeserializerCache._createDeserializer2(DeserializerCache.java:403) ~[jackson-databind-2.8.6.jar:2.8.6]
at com.fasterxml.jackson.databind.deser.DeserializerCache._createDeserializer(DeserializerCache.java:349) ~[jackson-databind-2.8.6.jar:2.8.6]
at com.fasterxml.jackson.databind.deser.DeserializerCache._createAndCache2(DeserializerCache.java:264) ~[jackson-databind-2.8.6.jar:2.8.6]
at com.fasterxml.jackson.databind.deser.DeserializerCache._createAndCacheValueDeserializer(DeserializerCache.java:244) ~[jackson-databind-2.8.6.jar:2.8.6]
at com.fasterxml.jackson.databind.deser.DeserializerCache.findValueDeserializer(DeserializerCache.java:142) ~[jackson-databind-2.8.6.jar:2.8.6]
at com.fasterxml.jackson.databind.DeserializationContext.findRootValueDeserializer(DeserializationContext.java:476) ~[jackson-databind-2.8.6.jar:2.8.6]
at com.fasterxml.jackson.databind.ObjectMapper._findRootDeserializer(ObjectMapper.java:3899) ~[jackson-databind-2.8.6.jar:2.8.6]
at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:3794) ~[jackson-databind-2.8.6.jar:2.8.6]
at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:2908) ~[jackson-databind-2.8.6.jar:2.8.6]
at org.codelibs.elasticsearch.langfield.detect.LangDetectorFactory.lambda$create$1(LangDetectorFactory.java:99) ~[?:?]
... 24 more
(from github.com/fanjinfei)
Solved the problem:
Cause: The langfield plugin 5.6.1 copied from fess zip release is causing this problem.
Solution: rebuild it from github 5.6.0 source, and install it as zip.