Я загрузил и установил дистрибутив GraphDB «graphdb-free-8.5.0» (запустите GraphDB как настольную установку). В документации GraphDB в Раздел 6.5 Программирование с GraphDB обсуждается два примера, HelloWorld.java
и FamilyRelationsApp.java
.
После выполнения mvn install
по пути examples/maven-installer
, как требует Раздел 6.5, я попытался скомпилировать HelloWorld.java
и получил следующие ошибки:
HelloWorld.java:3: error: package com.ontotext.graphdb.example.util does not exist
import com.ontotext.graphdb.example.util.EmbeddedGraphDB;
^
HelloWorld.java:4: error: package org.eclipse.rdf4j.model does not exist
import org.eclipse.rdf4j.model.Value;
^
HelloWorld.java:5: error: package org.eclipse.rdf4j.query does not exist
import org.eclipse.rdf4j.query.*;
^
HelloWorld.java:6: error: package org.eclipse.rdf4j.repository does not exist
import org.eclipse.rdf4j.repository.RepositoryConnection;
^
HelloWorld.java:15: error: cannot find symbol
RepositoryConnection connection = EmbeddedGraphDB.openConnectionToTemporaryRepository("rdfs");
^
symbol: class RepositoryConnection
location: class HelloWorld
HelloWorld.java:15: error: cannot find symbol
RepositoryConnection connection = EmbeddedGraphDB.openConnectionToTemporaryRepository("rdfs");
^
symbol: variable EmbeddedGraphDB
location: class HelloWorld
HelloWorld.java:29: error: cannot find symbol
TupleQuery tupleQuery = connection.prepareTupleQuery(QueryLanguage.SPARQL,
^
symbol: class TupleQuery
location: class HelloWorld
HelloWorld.java:29: error: cannot find symbol
TupleQuery tupleQuery = connection.prepareTupleQuery(QueryLanguage.SPARQL,
^
symbol: variable QueryLanguage
location: class HelloWorld
HelloWorld.java:36: error: cannot find symbol
TupleQueryResult tupleQueryResult = tupleQuery.evaluate();
^
symbol: class TupleQueryResult
location: class HelloWorld
HelloWorld.java:39: error: cannot find symbol
BindingSet bindingSet = tupleQueryResult.next();
^
symbol: class BindingSet
location: class HelloWorld
HelloWorld.java:42: error: cannot find symbol
for (Binding binding : bindingSet) {
^
symbol: class Binding
location: class HelloWorld
HelloWorld.java:45: error: cannot find symbol
Value value = binding.getValue();
^
symbol: class Value
location: class HelloWorld
12 errors
Файл pom.xml
имеет следующий вид:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.ontotext.graphdb.examples</groupId>
<artifactId>maven-installer</artifactId>
<version>1.0.0</version>
<packaging>pom</packaging>
<name>Maven installer for GraphDB</name>
<description>
This simple pom file can be used to install the GraphDB runtime
dependency (of the form graphdb-[edition]-runtime-x.y.z.jar) into
the local Maven repository. Just run "mvn install".
</description>
<build>
<plugins>
<!-- Install the jar file from the lib directory -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-install-plugin</artifactId>
<version>2.5.2</version>
<executions>
<execution>
<id>default-install</id>
<phase>none</phase>
</execution>
<execution>
<id>install-graphdb</id>
<phase>install</phase>
<goals>
<goal>install-file</goal>
</goals>
<configuration>
<file>${project.basedir}/../../lib/graphdb-free-runtime-8.5.0.jar</file>
<pomFile>${project.basedir}/graphdb-free-runtime.pom</pomFile>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
Как я уже сказал, я сделал mvn install
, и у меня была успешная сборка. Тем не менее, я не знаю, как выполнить HelloWorld.java
. Каков процесс, которому я должен следовать, чтобы выполнить java-файлы, включенные в дистрибутив GraphDB "graphdb-free-8.5.0"?
mvn install
уже компилирует классы, так какие еще команды вы пытаетесь запустить? - person OneCricketeer   schedule 19.06.2018javac HellowWorld.java
недостаточно - person Scary Wombat   schedule 19.06.2018HelloWorld
, но полагаю, что он использует файл jar. Я предлагаю вам либо создать новый проект maven, который ссылается на jar, либо скопировать код helloworld в этот проект. В качестве альтернативы просто создайте простой автономный проект с jar-файлом в его сборке и пути к классам. - person Scary Wombat   schedule 19.06.2018HelloWorld.java
). Я не знаком с maven. Не могли бы вы предоставить полный процесс командной строки о том, как создать проект maven, написать java-файл, который подключается к GraphDB, а затем выполнить его? Кроме того,HelloWorld.java
не является моей программой, она находится в папке для начинающих разработчиков в папке с дистрибутивами GraphDB. Итак, я ожидал простого способа выполнять файлы Java в этом дистрибутиве. - person kotheoha   schedule 19.06.2018mvn install
не завершился ошибкой. Вам нужно научиться запускать JAR-файл, содержащий ваш класс HelloWorld ... Только так этот код будет работать правильно. После запускаmvn package
файл JAR, скорее всего, находится в папкеtarget
. Не нужно запускатьmvn install
- person OneCricketeer   schedule 19.06.2018