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

Can't import org.apache.jena.rdf.model - package does not exist

我正在尝试开始学习 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" 是否按预期工作。我也找不到任何有相同问题的 post。

非常感谢您的帮助!

将 JENA_HOME 变量的路径导出为

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

~* 的扩展规则是 ~ 替换为您的主目录在 "" 字符串外,但在 * 内单独保留在 "" 外部但不在内部时与文件系统匹配。

你想单独留下 *,所以 Java 看到了它(它对 -cp 有特殊意义 - 它只匹配 jar 文件)。

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

首先,$var 规则适用,$HOME 被替换,* 保持不变。

第二个,~被替换,*被转义,所以就不用管了。小心它不会在以后使用时膨胀。如果您分配给一个变量,例如在 export 中使用 "" 围绕变量的任何使用。

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