如何使用GrapsheneDB Grails

时间:2014-02-09 09:13:25

标签: grails neo4j

有没有人使用Graphenedb进行Grails项目?我正在尝试创建一个在Appfog中托管的Neo4J应用程序,我将连接到GrapheneDB中的Neo4J数据库,但我似乎无法弄清楚如何在Grails中启动Neo4J。我做了以下事情:

  1. 在Grails Tool Suite中创建了新的Grails 2.3.5项目

  2. 在BuildConfig中,删除了hibernate引用,然后添加:

    知识库{mavenRepo'http://m2.neo4j.org/releases'

    plugins {compile“:neo4j:1.1.1”//遵循Grails Neo4J GORM说明

    compile(“org.neo4j:neo4j-rest-graphdb:1.6”)//也试过2.0.0

  3. 在DataSource中添加:

    grails {neo4j {             type =“rest”             location =“xxx.sb01.stations.graphenedb.com:xxxx/db/data”

  4. 使用静态mapWith =“neo4j”创建域类并生成控制器和视图

  5. 无论我做什么,我都会遇到错误:

    解决获取依赖项的错误:无法找到工件org.neo4j:neils4j-rest-graphdb:jar:xxx in grailsCentral

    编译错误:启动失败:使用javac编译时编译错误..

    其他人在使用Grails的Neo4J时遇到了问题:

    Error loading Neo4j from grails app

    grails unable to connect to neo4j datastore

    问题:

    1. 是否有关于如何在Grails上设置Neo4j休息的教程?

    2. 开始使用Play框架比使用Grails for Neo4J更好吗?似乎有更多在Scala中构建Neo4J应用程序的例子而不是Grails。 http://www.neo4j.org/develop/scala

3 个答案:

答案 0 :(得分:1)

我是来自GrapheneDB的Alberto。

我知道您似乎遇到了编译错误。我不熟悉Grails,所以我无法真正帮助你。

我相信DataSource的配置代码段不起作用,因为连接到GrapheneDB实例需要提供身份验证凭据。

我不确定您是否可以像这样提供URL中嵌入的凭据:

grails {
    neo4j {
        type = "rest"
        location = "http://username:password@fqdn:port/db/data/"
    }
}

或者,如果您必须提供用户名和密码作为单独的配置参数:

grails {
    neo4j {
        type = "rest"
        location = "fqdn:port/db/data/"
        login = "login"
        password = "password" 
    }
}

如果您设法克服了编译错误,您是否愿意分享您为使其运行而执行的步骤?对于希望将Grails应用程序与GrapheneDB连接起来的人,我想将它们包含在文档中。

阿尔贝托。

答案 1 :(得分:1)

https://github.com/sarmbruster/neo4jsample上有一个小型演示应用程序,我验证它可以与GrapheneDB一起使用。

诀窍是使用环境变量NEO4_HOSTNEO4J_USERNEO4J_LOGINNEO4J_PASSWORD来指定远程数据库并在type=rest中使用grails-app/conf/DataSource.groovy }。

请注意,如果您使用Grails 2.3.x的分叉模式,则会获得ClassNotFoundExecption。解决方法是关闭运行环境的分叉模式。

答案 2 :(得分:0)

@jun yoga语法应该是这样的

导出NEO4J_HOST ="" #e.g.neo4jsample.sb01.stations.graphenedb.com"

导出NEO4J_LOGIN ="" #REST USERNAME

导出NEO4J_PASSWORD ="" #REST PASSWORD

导出NEO4J_PORT ="" #xxxxx

如果你使用linux,它应该在终端输入。系统环境变量不是应用程序环境:)