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

问题描述 投票:0回答:3

我正在尝试开始使用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”按预期工作。我也找不到任何同样问题的帖子。

非常感谢一些帮助!

jena
3个回答
2
投票

~*的扩展规则是这样的,~将替换为“”字符串之外的主目录,但是单独留在内部并且*在文件系统外部匹配但不在内部。

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

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

在第一个,$var规则适用,$HOME被替换,*不受影响。

在第二个,~被替换,*逃脱,所以它是独自的。小心它在使用后不会扩展。如果您指定一个变量,例如在export中使用“”围绕任何变量的使用。


1
投票

将JENA_HOME变量的路径导出为

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

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文件放在资源文件中,然后正常编译项目

© www.soinside.com 2019 - 2024. All rights reserved.