私は少し前に開発したJava Mavenプロジェクトを持っていますが、これはもう動作しません。それはJenaのバージョンが変更されたと思う別のMavenプロジェクトと一緒に親pomを使用し、Jenaを使用する外部ライブラリも使用します。 Mavenの依存関係は次のとおりです。Jena NoClassDefFoundError with Maven
<dependency>
<groupId>com.hp.hpl.jena</groupId>
<artifactId>jena</artifactId>
<version>2.6.4</version>
</dependency>
私は私のテストを実行すると、私は次のエラーを取得:
- はjava.lang.NoClassDefFoundErrorが:クラス com.hp.hpl.jena.queryを初期化できませんでしたが.ARQ
- java.lang.NoClassDefFoundErrorが:ORG /アパッチ/イエナ/ IRI com.hp.で/ IRIFactory org.openjena.riot.system.PrefixMap.add(PrefixMap.java:54)で com.hp.hpl.jena.query.ARQ.initでhpl.jena.sparql.util.MappingRegistry.addPrefixMapping(MappingRegistry.java:33) (ARQ.java:449)[...]
エラーは自分のコードでは直接スローされませんが、私がインクルードするライブラリによってスローされます。親POMのJenaバージョンをダウングレードすることでこれを防ぐことができますか、ここで何ができますか?
PS:(:ORG/apacheの/イエナ/ IRI/IRIFactory java.lang.NoClassDefFoundErrorが):
import org.junit.Test;
import com.hp.hpl.jena.query.ARQ;
public class DependencyTest
{
@Test
public void testARQ()
{
ARQ a = new ARQ();
}
}
そして、私は推測することは、この依存関係から来て、私は今、エラーを再現する最小限のコード例を持っています:
おそらくコンストラクタの代わりにファクトリがあることは知っていますが、これはまだ問題がどこにあるかを示していると思います。
PS:私は、私は依存関係「イエナ」を持っていたことに気づいた「ARQ」と「イエナ-ARQ」:
<dependency>
<groupId>com.hp.hpl.jena</groupId>
<artifactId>arq</artifactId>
<version>2.8.8</version>
</dependency>
<dependency>
<groupId>org.apache.jena</groupId>
<artifactId>jena-arq</artifactId>
<version>2.9.1-incubating-SNAPSHOT</version>
</dependency>
dependency>
<groupId>com.hp.hpl.jena</groupId>
<artifactId>jena</artifactId>
<version>2.6.4</version>
</dependency>
だから私は多分私はあまり重なって依存関係を持っており、「イエナ」をコメントアウト思いましたと "arq"。しかし、私はまだ、私はまた、非スナップショットバージョン2.9.0-インキュベーションを強制的に試してみた
java.lang.NoClassDefFoundError: Could not initialize class com.hp.hpl.jena.query.ARQ
at com.hp.hpl.jena.sparql.engine.http.QueryEngineHTTP.<init> [...]
エラーが出るが、その後私はまだとし、「イエナ」と「ARQ」を使用せずに、NoClassDefFoundErrorがを得ます - 依存関係。
PPS:私は次の依存関係を使用する場合でも、
私はまだ同じエラーを取得:
<dependency>
<groupId>org.apache.jena</groupId>
<artifactId>jena-arq</artifactId>
<version>2.9.0-incubating</version>
</dependency>
<dependency>
<groupId>org.apache.jena</groupId>
<artifactId>jena-core</artifactId>
<version>2.7.0-incubating</version>
</dependency>
<dependency>
<groupId>org.apache.jena</groupId>
<artifactId>jena-iri</artifactId>
<version>2.7.0-incubating</version>
</dependency>