Jena (в Ubuntu) дает NoClassDefFoundError для ModelFactory

Я пытаюсь запустить код (внешний проект), использующий Jena.

Вот что я сделал:

  1. скачал apache-jena-3.8.0.tar.gz и разархивировал его в Documents под именем apache-jena-3.8.0.
  2. (не уверен, если это актуально, но ...) добавил банки в intellij и построил, и это было нормально
  3. пошел в терминал и сделал:

    экспорт JENA_HOME = / [...] / Documents / apache-jena-3.8.0 (отредактируйте: к нему неправильно был прикреплен / bin, но я удалил его после того, как мне было указано в комментариях)

    экспорт ПУТЬ = $ ПУТЬ: $ JENA_HOME / bin

  4. запустите код: он немного работает и выдает некоторый результат, а затем выдает ошибку:

    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 и перезапустив, но это привело к сбою профиля пользователя и ввел меня в цикл входа в систему, но теперь это исправлено.

Спасибо

Итак, на вашем пути теперь есть /[...]/Documents/apache-jena-3.8.0/bin/bin? например, вы удвоили «мусорное ведро» на пути?

Roddy of the Frozen Peas 25.07.2018 00:19

извините, нет, я добавил корзину в jena_home только в сообщении - мой настоящий дом jena - экспорт JENA_HOME = / [...] / Documents / apache-jena-3.8.0 /

EmmaSoton 25.07.2018 01:19

Переменные среды предназначены для инструментов командной строки; они не устанавливают путь к классам. Убедитесь, что .../apache-jena-3.8.0/lib* находится в пути к классам, или, что еще лучше, используйте инструмент вроде maven для управления зависимостями.

AndyS 25.07.2018 18:44

@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, и он также дал мне ту же ошибку ....

EmmaSoton 25.07.2018 19:37

Это будет "lib/*" - и звездочка должна быть передана java, это не расширение должно. JAVA_HOME устанавливает расположение среды выполнения Java. В IntelliJ, предположительно, вы используете maven или другой строитель (это лучший способ)? См. jena.apache.org/download/maven.html Для командной строки, вам нужно как-то установить "-cp".

AndyS 26.07.2018 09:54

@AndyS ... -cp "/home/izn1g08/Documents/apache-jena-3.8.0/lib/* :." работал, большое спасибо :)

EmmaSoton 26.07.2018 21:21
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
6
120
0

Другие вопросы по теме