解決できない(一見)単純なMavenの問題があります。私のPOMでは、次のようにopenrdf-sesameへの依存関係を指定しました:
<dependency>
<groupId>org.openrdf.sesame</groupId>
<artifactId>sesame-runtime</artifactId>
<version>2.7.2</version>
</dependency>
Eclipse からプロジェクトを実行するとうまくいきます。実行可能な jar ファイルをエクスポートすることもできます。残念ながら、cmd-line maven で正しく動作させることはできません。jar を作成するために、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>
コンパイルは次のエラーで失敗します。
.../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
奇妙なことに、コンパイル プラグインを 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"
jreを指しているように見えますが、グーグルで調べたところ、コンパイラ自体が見つからない場合は別のエラーが表示されることが示されました。完全な POM をここに貼り付けました。
不足しているものはありますか?POM にエラーが見つかりません。