无法导入org.apache.jena.rdf.model-包不存在

时间:2019-01-29 11:44:10

标签: jena

我正在尝试入门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 :(得分:2)

~*的扩展规则是将~替换为您的主目录,而不是“”字符串,但将其留在其中,并且将*匹配在“”之外但不在内部时访问文件系统。

您想不理会*,因此Java会看到它(它对-cp有特殊含义-它仅与jar文件匹配)。

尝试“ $ HOME / api / apache-jena-3.10.0 / lib / *”或〜/ api / apache-jena-3.10.0 / lib / *

首先,将应用$var条规则,并替换$HOME并保持*不变。

在第二个步骤中,~被替换并且*被转义,因此它被单独放置。请注意,以后使用时它不会膨胀。如果您分配给变量,例如在export中,在变量的所有用法附近使用“”。

答案 1 :(得分:1)

将JENA_HOME变量的路径导出为

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

答案 2 :(得分:1)

在我的情况下,因为根据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文件放在资源文件中,然后项目才能正常编译