Java Maven编译:包不存在

Java Maven编译:包不存在,java,maven,compiler-errors,Java,Maven,Compiler Errors,我有一个(似乎)简单的maven问题我无法解决。在我的POM中,我指定了openrdf sesame的依赖项,如下所示: <dependency> <groupId>org.openrdf.sesame</groupId> <artifactId>sesame-runtime</artifactId> <version>2.7.2</version> </dependency&

我有一个(似乎)简单的maven问题我无法解决。在我的POM中,我指定了openrdf sesame的依赖项,如下所示:

<dependency>
     <groupId>org.openrdf.sesame</groupId>
     <artifactId>sesame-runtime</artifactId>
     <version>2.7.2</version>
</dependency>
奇怪的是,当我将编译插件添加到pom并更新项目设置时,eclipse似乎无法再编译了。我已经检查了我的存储库,所有的芝麻文件都在那里

mvn--版本提供以下输出:

Apache Maven 2.2.1 (rdebian-8)
Java version: 1.6.0_27
Java home: /usr/lib/jvm/java-6-openjdk-amd64/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux" version: "3.8.0-25-generic" arch: "amd64" Family: "unix"
我看到它似乎指向一个jre,但我的谷歌搜索表明,如果没有找到编译器本身,我将看到另一个错误。 如果有帮助的话,我有


我有什么遗漏吗?我在POM中找不到任何错误

您必须将以下依赖项添加到构建中:

<dependency>
    <groupId>org.openrdf.sesame</groupId>
    <artifactId>sesame-rio-api</artifactId>
    <version>2.7.2</version>
</dependency>

org.openrdf.sesame

不确定是否存在文件损坏或其他问题,但在确认正确的pom配置后,我能够通过从本地m2存储库中删除jar来解决此问题,迫使Maven在运行测试时再次下载它。

您的依赖项中不包含
标记。如果添加它,您的依赖关系将类似于:

<dependency>
     <groupId>org.openrdf.sesame</groupId>
     <artifactId>sesame-runtime</artifactId>
     <version>2.7.2</version>
     <scope> ... </scope>
</dependency>

org.openrdf.sesame
芝麻运行时间
2.7.2
... 

“scope”标记告诉maven在构建的哪个阶段需要依赖项。要放入其中的值的示例有“test”、“provided”或“runtime”(省略pom中的引号)。我不知道你的依赖性,所以我不能告诉你选择什么值。请参阅Maven文档和您的依赖项文档。

问题发生在我身上,我仅通过删除范围标记解决,并成功构建。

您能显示“mvn clean package”的完整输出吗?看起来您正在使用不存在的包名(假定在导入部分中)。你真的需要这些包裹吗?使用它的类?用IDE清理导入部件(比如Eclipse?)?您能否显示一个源代码文件,如
PLDReducer.java
我明确使用openrdf软件包,我非常确信它们是正确的。我可以在eclipse中编译和运行我的项目。谢谢,这确实做到了!但是,如果需要这个附加模块,那么项目如何能够在eclipse中编译和运行呢?我在lib文件夹或类似文件夹中没有任何jar。而且,链接的文档看起来很棒,我还没有遇到过这个!缺少的包是运行时依赖项,这就是从命令行编译失败的原因。然而,Maven Eclipse插件倾向于忽略作用域规则,只提取每个依赖项,这就是为什么从Eclipse编译可以毫无问题地工作。您定义了哪种范围?只是有同样的问题,我一起删除了所有的,它成功地构建了项目。对我来说,删除范围不起作用。我从命令行-mvn clean install获得org.apache.log4j的相同包不存在错误。当从intellij运行testng.xml时,Works将运行
<dependency>
    <groupId>org.openrdf.sesame</groupId>
    <artifactId>sesame-rio-api</artifactId>
    <version>2.7.2</version>
</dependency>
<dependency>
     <groupId>org.openrdf.sesame</groupId>
     <artifactId>sesame-runtime</artifactId>
     <version>2.7.2</version>
     <scope> ... </scope>
</dependency>