Я пытаюсь запустить код (внешний проект), использующий Jena.
Вот что я сделал:
пошел в терминал и сделал:
экспорт JENA_HOME = / [...] / Documents / apache-jena-3.8.0 (отредактируйте: к нему неправильно был прикреплен / bin, но я удалил его после того, как мне было указано в комментариях)
экспорт ПУТЬ = $ ПУТЬ: $ JENA_HOME / bin
запустите код: он немного работает и выдает некоторый результат, а затем выдает ошибку:
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/jena/rdf/model/ModelFactory
at org.imis.generator.EvoGenerator._generate(EvoGenerator.java:1010)
at org.imis.generator.EvoGenerator.start(EvoGenerator.java:862)
at org.imis.generator.EvoGenerator.main(EvoGenerator.java:680)
Caused by: java.lang.ClassNotFoundException: org.apache.jena.rdf.model.ModelFactory
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 3 more
Подробнее: пытаюсь запустить код в https://github.com/mmeimaris/EvoGen. Используя VMWare под управлением Ubuntu 18.04 ... Я допустил ошибку, отредактировав переменную пути в / etc / environment и перезапустив, но это привело к сбою профиля пользователя и ввел меня в цикл входа в систему, но теперь это исправлено.
Спасибо
извините, нет, я добавил корзину в jena_home только в сообщении - мой настоящий дом jena - экспорт JENA_HOME = / [...] / Documents / apache-jena-3.8.0 /
Переменные среды предназначены для инструментов командной строки; они не устанавливают путь к классам. Убедитесь, что .../apache-jena-3.8.0/lib*
находится в пути к классам, или, что еще лучше, используйте инструмент вроде maven для управления зависимостями.
@AndyS Я сделал: export CLASSPATH = $ CLASSPATH: "/ home / ... Documents / apache-jena-3.8.0 / l ib" и CLASSPATH = $ CLASSPATH: "/ home / ... Documents / apache-jena -3.8.0 / l ib * "и даже добавил $ JAVA_HOME $ в путь к классам, и это по-прежнему дает мне ту же ошибку. Я попытался запустить его с терминала intellij, и он также дал мне ту же ошибку ....
Это будет "lib/*
" - и звездочка должна быть передана java, это не расширение должно. JAVA_HOME устанавливает расположение среды выполнения Java. В IntelliJ, предположительно, вы используете maven или другой строитель (это лучший способ)? См. jena.apache.org/download/maven.html Для командной строки, вам нужно как-то установить "-cp".
@AndyS ... -cp "/home/izn1g08/Documents/apache-jena-3.8.0/lib/* :." работал, большое спасибо :)
Итак, на вашем пути теперь есть
/[...]/Documents/apache-jena-3.8.0/bin/bin
? например, вы удвоили «мусорное ведро» на пути?