feo*_*eob 31 java compiler-errors maven
我有一个(看似)简单的maven问题我无法解决.在我的POM中,我已经指定了对openrdf-sesame的依赖,如下所示:
<dependency>
<groupId>org.openrdf.sesame</groupId>
<artifactId>sesame-runtime</artifactId>
<version>2.7.2</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
从eclipse运行项目效果很好,我甚至可以导出一个可运行的jar文件.不幸的是,我无法通过cmd-line maven正常工作.为了建立一个罐子,我已经将以下内容添加到我的pom中:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<archive>
<manifest>
<mainClass>foo.bar.Cli</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
</plugins>
</build>
Run Code Online (Sandbox Code Playgroud)
编译失败,出现以下错误:
.../PLDReducer.java:[25,29] package org.openrdf.rio.rdfxml does not exist
.../PLDReducer.java:[27,33] package org.openrdf.sail.nativerdf does not exist
.../LowPLDReducer.java:[25,29] package org.openrdf.rio.rdfxml does not exist
.../Cli.java:[23,33] package org.openrdf.sail.nativerdf does not exist
.../SchemaBuilder.java:[30,33] package org.openrdf.sail.nativerdf does not exist
.../RepoQuerier.java:[23,33] package org.openrdf.sail.nativerdf does not exist
.../PLDReducer.java:[78,44] cannot find symbol
Run Code Online (Sandbox Code Playgroud)
奇怪的是,只要我将编译插件添加到pom并更新项目设置,eclipse似乎也不再编译了.我检查了我的存储库,所有芝麻文件都在那里.
mvn --version给出了这个输出:
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"
Run Code Online (Sandbox Code Playgroud)
我看到它似乎指向一个jre,但我的谷歌搜索表明,如果找不到编译器本身,我会看到另一个错误.如果它有任何帮助,我已经在这里粘贴了完整的POM.
有什么我想念的吗?我在POM中找不到任何错误.
khm*_*ise 13
您必须将以下依赖项添加到您的构建中:
<dependency>
<groupId>org.openrdf.sesame</groupId>
<artifactId>sesame-rio-api</artifactId>
<version>2.7.2</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
您的依赖项中没有包含<scope>标签。如果你添加它,你的依赖就会变成这样:
<dependency>
<groupId>org.openrdf.sesame</groupId>
<artifactId>sesame-runtime</artifactId>
<version>2.7.2</version>
<scope> ... </scope>
</dependency>
Run Code Online (Sandbox Code Playgroud)
“scope”标签告诉maven 在构建的哪个阶段需要您的依赖项。放入其中的值的示例有“test”、“provided”或“runtime”(省略 pom 中的引号)。我不知道您的依赖性,所以我无法告诉您选择什么值。请查阅 Maven 文档和您的依赖项的文档。
| 归档时间: |
|
| 查看次数: |
97174 次 |
| 最近记录: |