A JNI error has occurred

(from github.com/15738519635)

(from github.com/marevol)
more info…

(from github.com/15738519635)
When I use the CsvDataStore,it throws the exception.
This is my configuration:
params :directories=D:/testA
fileEncoding=UTF-8
script: url=“http://localhost/” + cell1
host=“localhost”
site=“localhost”
title=cell2
content=cell3
cache=cell3
digest=cell3
anchor=
content_length=cell3.length()
last_modified=new java.util.Date()

The error info :
2018-09-15 14:19:34,918 [InputStreamThread] DEBUG Error: A JNI error has occurred, please check your installation and try again
2018-09-15 14:19:34,921 [InputStreamThread] DEBUG Exception in thread “main”
2018-09-15 14:19:34,928 [job_ihTh22UBPTsdGscJmdEw] INFO Crawler: Exit Code=1 - Crawler Process Output:
java.lang.NoClassDefFoundError: org/kohsuke/args4j/CmdLineException
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
at java.lang.Class.privateGetMethodRecursive(Class.java:3048)
at java.lang.Class.getMethod0(Class.java:3018)
at java.lang.Class.getMethod(Class.java:1784)
at sun.launcher.LauncherHelper.validateMainClass(LauncherHelper.java:544)
at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:526)
Caused by: java.lang.ClassNotFoundException: org.kohsuke.args4j.CmdLineException
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
… 7 more
Error: A JNI error has occurred, please check your installation and try again
Exception in thread “main”

2018-09-15 14:19:34,931 [job_ihTh22UBPTsdGscJmdEw] WARN Failed to evalue groovy script: return container.getComponent(“crawlJob”).logLevel(“info”).sessionId(“iRTg22UBPTsdGscJz9EH”).webConfigIds([] as String[]).fileConfigIds([“iRTg22UBPTsdGscJz9EH”] as String[]).dataConfigIds([] as String[]).jobExecutor(executor).execute(); => {executor=org.codelibs.fess.job.impl.GroovyExecutor@33eb1fe4}
org.codelibs.fess.exception.FessSystemException: Exit Code: 1
Output:
java.lang.NoClassDefFoundError: org/kohsuke/args4j/CmdLineException
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
at java.lang.Class.privateGetMethodRecursive(Class.java:3048)
at java.lang.Class.getMethod0(Class.java:3018)
at java.lang.Class.getMethod(Class.java:1784)
at sun.launcher.LauncherHelper.validateMainClass(LauncherHelper.java:544)
at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:526)
Caused by: java.lang.ClassNotFoundException: org.kohsuke.args4j.CmdLineException
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
… 7 more
Error: A JNI error has occurred, please check your installation and try again
Exception in thread “main”

at org.codelibs.fess.job.CrawlJob.executeCrawler(CrawlJob.java:385) ~[classes/:?]
at org.codelibs.fess.job.CrawlJob.execute(CrawlJob.java:201) ~[classes/:?]
at org.codelibs.fess.job.CrawlJob$execute$2.call(Unknown Source) ~[?:?]
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48) ~[groovy-all-2.4.12.jar:2.4.12]
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113) ~[groovy-all-2.4.12.jar:2.4.12]
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:117) ~[groovy-all-2.4.12.jar:2.4.12]
at Script1.run(Script1.groovy:1) ~[?:?]
at groovy.lang.GroovyShell.evaluate(GroovyShell.java:585) ~[groovy-all-2.4.12.jar:2.4.12]
at groovy.lang.GroovyShell.evaluate(GroovyShell.java:623) ~[groovy-all-2.4.12.jar:2.4.12]
at groovy.lang.GroovyShell.evaluate(GroovyShell.java:594) ~[groovy-all-2.4.12.jar:2.4.12]
at org.codelibs.fess.util.GroovyUtil.evaluate(GroovyUtil.java:41) ~[classes/:?]
at org.codelibs.fess.job.impl.GroovyExecutor.execute(GroovyExecutor.java:31) ~[classes/:?]
at org.codelibs.fess.app.job.ScriptExecutorJob.run(ScriptExecutorJob.java:92) ~[classes/:?]
at org.lastaflute.job.LaJobRunner.actuallyRun(LaJobRunner.java:265) ~[lasta-job-0.5.3.jar:?]
at org.lastaflute.job.LaJobRunner.doRun(LaJobRunner.java:232) ~[lasta-job-0.5.3.jar:?]
at org.lastaflute.job.LaJobRunner.run(LaJobRunner.java:191) ~[lasta-job-0.5.3.jar:?]
at org.lastaflute.job.cron4j.Cron4jTask.runJob(Cron4jTask.java:371) ~[lasta-job-0.5.3.jar:?]
at org.lastaflute.job.cron4j.Cron4jTask.actuallyExecute(Cron4jTask.java:355) ~[lasta-job-0.5.3.jar:?]
at org.lastaflute.job.cron4j.Cron4jTask.lambda$doExecute$6(Cron4jTask.java:258) ~[lasta-job-0.5.3.jar:?]
at org.lastaflute.job.cron4j.Cron4jTask.synchronizedNeighborRunning(Cron4jTask.java:328) [lasta-job-0.5.3.jar:?]
at org.lastaflute.job.cron4j.Cron4jTask.doExecute(Cron4jTask.java:246) [lasta-job-0.5.3.jar:?]
at org.lastaflute.job.cron4j.Cron4jTask.execute(Cron4jTask.java:151) [lasta-job-0.5.3.jar:?]
at it.sauronsoftware.cron4j.RomanticCron4jNativeTaskExecutor$RomanticRunner.run(RomanticCron4jNativeTaskExecutor.java:121) [lasta-job-0.5.3.jar:?]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_131]

(from github.com/marevol)
Did Web Crawling work?

(from github.com/15738519635)
The Web Crawling and The File Crawling can not work also. It throws the same exception

(from github.com/marevol)
Environment variables(ex. JAVA_HOME) might not be proper in your environment.
It’s better to install Fess as Windows service.
(Embedded Elasticsearch is not recommended for production use)

(from github.com/15738519635)
Thank you very much. It can work normally as the Windows Service.

(from github.com/15738519635)
I am really confused for it how the Fess handles the CSV file. If you can give me some advice, I will be grateful,thanks you very much.

(from marevol (Shinsuke Sugaya) · GitHub)

I am really confused for it how the Fess handles the CSV file.

more details…

(from github.com/15738519635)
In the official website, the description for the CsvDataStore is :
Script : Set script values of crawling config as below.
The format is key/value. For keys, they are the same as database crawling. You can use values in CSV
file as cell[number](cell1 is a first cell). If cell does not exist, it returns null.
How does the fess use the script to handle the Csv Cell? Where is it in the code?

(from github.com/15738519635)
In addition, is there any setting to index a file by row?

(from github.com/marevol)
See fess-ds-csv.
csvlistdatastore.sh is a sample script to generate test data for Csv File List crawling.