Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error: A JNI error has occurred, please check your installation and try again #3842

Closed
row25505 opened this issue Dec 20, 2021 · 6 comments
Closed
Labels

Comments

@row25505
Copy link

row25505 commented Dec 20, 2021

 opengrok-indexer -J=-Djava.util.logging.config.file=/home/opengrok/logging.properties -a /root/software/opengrok-1.7.25/lib/opengrok.jar --  -s /home/opengrok/src -d /home/opengrok/data -H -P -S -G -W /home/opengrok/etc/configuration.xml -U http://localhost:8080/source
DEBUG:filelock:Attempting to acquire lock 140246563213608 on /tmp/-S-indexer.lock
DEBUG:filelock:Lock 140246563213608 acquired on /tmp/-S-indexer.lock
Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.UnsupportedClassVersionError: org/opengrok/indexer/index/Indexer has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0
	at java.lang.ClassLoader.defineClass1(Native Method)
	at java.lang.ClassLoader.defineClass(ClassLoader.java:756)
	at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
	at java.net.URLClassLoader.defineClass(URLClassLoader.java:473)
	at java.net.URLClassLoader.access$100(URLClassLoader.java:74)
	at java.net.URLClassLoader$1.run(URLClassLoader.java:369)
	at java.net.URLClassLoader$1.run(URLClassLoader.java:363)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(URLClassLoader.java:362)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
	at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:601)
Indexer command failed (return code 1)
DEBUG:filelock:Attempting to release lock 140246563213608 on /tmp/-S-indexer.lock
DEBUG:filelock:Lock 140246563213608 released on /tmp/-S-indexer.lock

i need help ,canyou help me?

@vladak
Copy link
Member

vladak commented Dec 20, 2021

You seem to be running Java 8 runtime (class version 52) while the OpenGrok Java classes need at least Java 11 (class version 55).

See e.g. https://stackoverflow.com/a/35866015/11582827

@vladak vladak closed this as completed Dec 20, 2021
@vladak
Copy link
Member

vladak commented Dec 20, 2021

BTW we have been discussing with @ahornace last week to make the transition to Java 17.

@row25505
Copy link
Author

您似乎正在运行 Java 8 运行时(类版本 52),而 OpenGrok Java 类至少需要 Java 11(类版本 55)。

参见例如https://stackoverflow.com/a/35866015/11582827

Thank you! But ,i don`t understand. II have installed java-1.8 0-openjdk

@row25505
Copy link
Author

顺便说一句,我们上周一直在与@ahornace讨论过渡到 Java 17。

After Google search, I installed java-11-opensdk, and I encountered new problems,DEBUG:filelock:Attempting to acquire lock 139895810412840 on /tmp/-S-indexer.lock
DEBUG:filelock:Lock 139895810412840 acquired on /tmp/-S-indexer.lock
Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.UnsupportedClassVersionError: org/opengrok/indexer/index/Indexer has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)
at java.net.URLClassLoader.access$100(URLClassLoader.java:73)
at java.net.URLClassLoader$1.run(URLClassLoader.java:368)
at java.net.URLClassLoader$1.run(URLClassLoader.java:362)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:361)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:495)
Indexer command failed (return code 1)
DEBUG:filelock:Attempting to release lock 139895810412840 on /tmp/-S-indexer.lock
DEBUG:filelock:Lock 139895810412840 released on /tmp/-S-indexer.lock

Tomcat version is too low. It seems that it is only 9

@vladak
Copy link
Member

vladak commented Dec 21, 2021

@row25505
Copy link
Author

最低版本见https://github.com/oracle/opengrok/wiki/How-to-setup-OpenGrok#requirements

thanks,i have used docker ,that is ok

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants