以下の pom ファイルから抽出された maven 依存関係セクションに見られるように、私は OWL-API バージョン 4.0.1 を Pellet reasoner バージョン 2.3.6 と一緒に使用していました。
<dependency>
<groupId>net.sourceforge.owlapi</groupId>
<artifactId>owlapi-api</artifactId>
<version>4.0.1</version>
</dependency>
<dependency>
<groupId>net.sourceforge.owlapi</groupId>
<artifactId>owlapi-apibinding</artifactId>
<version>4.0.1</version>
</dependency>
<dependency>
<groupId>com.github.ansell.pellet</groupId>
<artifactId>pellet-owlapiv3</artifactId>
<version>2.3.6-ansell</version>
</dependency>
プロジェクトをコンパイルすると、次のようなエラーが見つかりました。
org.semanticweb.owlapi.OWLAPIServiceLoaderModule.loadFactories(OWLAPIServiceLoaderModule.java:99) のスレッド「メイン」 java.lang.AbstractMethodError の例外 com.google. inject.AbstractModule.configure(AbstractModule.java:62) at com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:230) at com.google.inject.spi.Elements.getElements(Elements.java: 103) com.google.inject.internal.InjectorShell$Builder.build(InjectorShell.java:136) で com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:104) で com.google.inject.Guice .createInjector(Guice.java:96) at com.google.inject.Guice.createInjector(Guice.java:73) at com.google.inject.Guice.createInjector(Guice.java:62) org.semanticweb.owlapi.apibinding.OWLManager.(OWLManager.java:43) で sematicdm.parser.CreateIndividualsClass.main(CreateIndividualsClass.java:73)
クラス createIndividualsClass で、エラーが発生する行は次のとおりです。
OWLOntologyManager manager = OWLManager.createOWLOntologyManager();
互換性の問題ですか?もしそうなら、どのバージョンのペレットレゾナーをpomファイルに含めるべきですか?