Jetty的SocketAddressResolver中InstantiationError的可能原因

时间:2017-06-15 16:26:05

标签: scala jetty blazegraph

我正在尝试使用图形数据库 Blazegraph 的远程实例,这需要调用RemoteRepositoryManager的构造函数。该调用如下所示(serviceURL是我的远程 Blazegraph 服务器的地址):

val repo = new RemoteRepositoryManager(serviceURL, false /* useLBS */ )

当我在 Scalatra-SBT 项目中运行代码时,我收到 Jetty SocketAddressResolver抛出的以下错误:

Exception in thread "main" java.lang.InstantiationError: org.eclipse.jetty.util.SocketAddressResolver
at org.eclipse.jetty.client.HttpClient.doStart(HttpClient.java:209)
at com.bigdata.rdf.sail.webapp.client.AutoCloseHttpClient.doStart(AutoCloseHttpClient.java:71)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
at com.bigdata.rdf.sail.webapp.client.DefaultHttpClientFactory.newInstance(DefaultHttpClientFactory.java:194)
at com.bigdata.rdf.sail.webapp.client.RemoteRepositoryManager.<init>(RemoteRepositoryManager.java:439)
at com.bigdata.rdf.sail.webapp.client.RemoteRepositoryManager.<init>(RemoteRepositoryManager.java:358)
at com.example.app.BlazegraphRemoteModeConnection$.<init>(BlazegraphRemoteModeConnection.scala:31)
at com.example.app.BlazegraphRemoteModeConnection$.<clinit>(BlazegraphRemoteModeConnection.scala)
at com.example.app.BlazegraphRemoteModeConnection.main(BlazegraphRemoteModeConnection.scala)

我不确定导致这一结果的原因;但是,同事能够在非Scalatra SBT 项目中成功运行此代码。我用来提供远程服务器地址的URL证明可行,所以问题不存在。我正在寻找一些建议,我可以采取措施来解决这个问题。

1 个答案:

答案 0 :(得分:0)

我有完全相同的问题。我相信问题是Blazegraph支持旧版本的Jetty。

用它替换Jetty依赖关系解决了它。

  "org.eclipse.jetty" % "jetty-webapp" % "8.1.8.v20121106" % "container;compile"