Невозможно импортировать org.apache.jena.rdf.model - пакет не существует - PullRequest
0 голосов
/ 29 января 2019

Я пытаюсь начать работу с основами jena, но когда я импортирую пакет с

import org.apache.jena.rdf.model.*; 

и скомпилирую с

javac -cp "~/api/apache-jena-3.10.0/lib/*:." Foo.java

, я просто получаю сообщение об ошибке при импортестрока, что пакет не существует.

Я дважды проверил, что папка находится там, где она должна быть, она только что установлена, я экспортировал путь с

export JENA_HOME=~/api/apache-jena-3.10.0
export PATH=$PATH:$JENA_HOME/bin

, как предложенона домашней странице jena подтвердил, что он установлен с помощью «sparql --version», и проверил, что «cd $ JENA_HOME» работает, как и ожидалось.Я также не могу найти ни одного сообщения с той же проблемой.

Буду очень признателен за помощь!

Ответы [ 3 ]

0 голосов
/ 30 января 2019

Правила расширения для ~ и * таковы, что ~ заменяется вашим домашним каталогом вне строки "", но остается внутри, а * сопоставляется с файловой системой, когда снаружи ""но не внутри.

Вы хотите оставить * в покое, поэтому Java видит его (он имеет особое значение для -cp - он соответствует только файлам jar).

Попробуйте "$ HOME"/api/apache-jena-3.10.0/lib/* "или ~ / api / apache-jena-3.10.0 / lib / *

В первом случае применяются $var правила и $HOMEзаменяется * нетронутым.

Во втором случае ~ заменяется и * экранируется, поэтому он остается один.Будьте осторожны, он не расширяется позже при использовании.Если вы присваиваете переменную, например, в export, используйте "" вокруг любого использования переменной.

0 голосов
/ 06 марта 2019

В моем случае, потому что в соответствии с pom.xml

<resources>
        <resource>
            <!-- Use resource filtering to replace references to the artifactId in 
                the plugin.xml file -->
            <directory>src/main/resources</directory>
            <filtering>true</filtering>
        </resource>
    </resources>

Таким образом, мы должны поместить файлы jar в файлы ресурсов, и тогда проект будет скомпилирован нормально

0 голосов
/ 29 января 2019

Экспорт пути переменной JENA_HOME как

export JENA_HOME=~/api/apache-jena-3.10.0/lib/*
...