#java #gremlin #graph-databases #tinkerpop3 #amazon-neptune
Вопрос:
Это код, который использует Java для подключения к Amazon Neptune.
Когда я запускаю mvn compile exec:exec
компиляцию программы, возникает ошибка: gremlinjava/src/main/java/com/amazonaws/App.java:[39,15] error: illegal start of expression
.
На самом деле я не знаю, где я ошибаюсь. Так как же я могу заставить это работать?
Заранее спасибо
package com.amazonaws; import org.apache.tinkerpop.gremlin.driver.Cluster; import org.apache.tinkerpop.gremlin.driver.Client; import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource; import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal; import static org.apache.tinkerpop.gremlin.process.traversal.AnonymousTraversalSource.traversal; import org.apache.tinkerpop.gremlin.driver.remote.DriverRemoteConnection; import org.apache.tinkerpop.gremlin.structure.T; public class App { public static void main( String[] args ) { Cluster.Builder builder = Cluster.build(); builder.addContactPoint("xxxxxxxxxxx.us-east-1.neptune.amazonaws.com"); builder.port(8182); builder.enableSsl(true); builder.keyCertChainFile("SFSRootCAG2.pem"); Cluster cluster = builder.create(); GraphTraversalSource g = traversal().withRemote(DriverRemoteConnection.using(cluster)); // Add a vertex. // Note that a Gremlin terminal step, e.g. iterate(), is required to make a request to the remote server. // The full list of Gremlin terminal steps is at https://tinkerpop.apache.org/docs/current/reference/#terminal-steps g.addV("Person").property("Name", "Justin").iterate(); // Add a vertex with a user-supplied ID. g.addV("Custom Label").property(T.id, "CustomId1").property("name", "Custom id vertex 1").iterate(); g.addV("Custom Label").property(T.id, "CustomId2").property("name", "Custom id vertex 2").iterate(); g.addE("Edge Label").from(g.V("CustomId1")).to(g.V("CustomId2")).iterate(); // This gets the vertices, only. GraphTraversal t = g.V().limit(3).elementMap(); t.forEachRemaining( e -gt; System.out.println(t.toList())); cluster.close(); } }
Комментарии:
1. Код, которым вы поделились, отлично компилируется и запускается для меня. Я не уверен, что в вашей системе может быть что-то не так.
Ответ №1:
В коде в строке 39 нет ничего плохого с точки зрения компиляции. Я могу скомпилировать весь файл без проблем. Когда я запускаю его, я получаю список с 3 результатами, как и ожидалось. Вы также можете изменить код, как показано ниже, чтобы получить три отдельных результата, и он по-прежнему отлично работает для меня. Интересно, есть ли у вас каким-то образом невидимый странный символ или что-то в этом роде в файле исходного кода? Я использовал javac
версию 1.8.0_181
GraphTraversal t = g.V().limit(3).elementMap(); t.forEachRemaining( e -gt; System.out.println(e));
или просто сделать
GraphTraversal t = g.V().limit(3).elementMap(); System.out.println(t.toList()));
Весь ваш файл собран для меня чисто.
Комментарии:
1. Спасибо за ваш ответ. Может быть, я думаю, что проблема в том, pom.xml. Я переустановлю javac и java в pom.xml