0

私は Grails 2.0.1 と Neo4J 1.8 を使用しており、Spring リソース ファイルで Neo4j データベースを次のようにインスタンス化したいと考えています。

import org.codehaus.groovy.grails.commons.ConfigurationHolder as CH;
import org.neo4j.graphdb.GraphDatabaseService;
import org.neo4j.graphdb.factory.GraphDatabaseFactory;
import org.neo4j.graphdb.factory.GraphDatabaseSettings;

// Place your Spring DSL code here
beans = {
    GraphDatabaseService db = getGraph();
    enronService(com.fxpal.neo4j.EnronService) {
        graph = db;
        index = db.index()
            .getNodeAutoIndexer()
            .getAutoIndex();
    }
}

protected GraphDatabaseService getGraph() {
    String graphDBName = CH.config.enron.graphdb ?: "../databases/enrontest";
    GraphDatabaseService db = new GraphDatabaseFactory().
        newEmbeddedDatabaseBuilder( graphDBName ).
        setConfig( GraphDatabaseSettings.node_keys_indexable, "emailID,address" ).
        setConfig( GraphDatabaseSettings.node_auto_indexing, "true" ).
        setConfig( GraphDatabaseSettings.dump_configuration, "true").
        newGraphDatabase();

    return db;
}

BuildConfig.groovyファイルが有効になり、 Lucene mavenLocal()3.5 コア ライブラリがパスに含まれています。

アプリケーションを実行すると、Neo4j が開始されると次のメッセージが表示されます。

| Running Grails application
Physical mem: 7987MB, Heap size: 455MB
| Error 2012-11-02 11:34:48,597 [pool-5-thread-1] ERROR spring.GrailsRuntimeConfigurator  - [RuntimeConfiguration] Unable to load beans from resources.groovy
Message: Failed to transition org.neo4j.kernel.InternalAbstractGraphDatabase$DefaultKernelExtensionLoader@2116b32 from NONE to STOPPED
   Line | Method
->> 388 | init                      in org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
|    82 | init                      in org.neo4j.kernel.lifecycle.LifeSupport
|   116 | start . . . . . . . . . . in     ''
|   227 | run                       in org.neo4j.kernel.InternalAbstractGraphDatabase
|    79 | <init> . . . . . . . . .  in org.neo4j.kernel.EmbeddedGraphDatabase
|    70 | newDatabase               in org.neo4j.graphdb.factory.GraphDatabaseFactory$1
|   205 | newGraphDatabase . . . .  in org.neo4j.graphdb.factory.GraphDatabaseBuilder
|    21 | getGraph                  in resources
|     8 | doCall . . . . . . . . .  in resources$_run_closure1
|   736 | invokeBeanDefiningClosure in grails.spring.BeanBuilder
|   569 | beans . . . . . . . . . . in     ''
|   303 | innerRun                  in java.util.concurrent.FutureTask$Sync
|   138 | run . . . . . . . . . . . in java.util.concurrent.FutureTask
|   886 | runTask                   in java.util.concurrent.ThreadPoolExecutor$Worker
|   908 | run . . . . . . . . . . . in     ''
^   619 | run                       in java.lang.Thread
Caused by NoClassDefFoundError: org/apache/lucene/util/Version
->> 113 | <clinit>                  in org.neo4j.index.impl.lucene.LuceneDataSource
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
|    72 | load                      in org.neo4j.index.lucene.LuceneIndexProvider
|   1171 | loadIndexImplementations  in org.neo4j.kernel.InternalAbstractGraphDatabase$DefaultKernelExtensionLoader
|   1143 | init                      in     ''
|   382 | init . . . . . . . . . .  in org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance
|    82 | init                      in org.neo4j.kernel.lifecycle.LifeSupport
|   116 | start . . . . . . . . . . in     ''
|   227 | run                       in org.neo4j.kernel.InternalAbstractGraphDatabase
|    79 | <init> . . . . . . . . .  in org.neo4j.kernel.EmbeddedGraphDatabase
|    70 | newDatabase               in org.neo4j.graphdb.factory.GraphDatabaseFactory$1
|   205 | newGraphDatabase . . . .  in org.neo4j.graphdb.factory.GraphDatabaseBuilder
|    21 | getGraph                  in resources
|     8 | doCall . . . . . . . . .  in resources$_run_closure1
|   736 | invokeBeanDefiningClosure in grails.spring.BeanBuilder
|   569 | beans . . . . . . . . . . in     ''
|   303 | innerRun                  in java.util.concurrent.FutureTask$Sync
|   138 | run . . . . . . . . . . . in java.util.concurrent.FutureTask
|   886 | runTask                   in java.util.concurrent.ThreadPoolExecutor$Worker
|   908 | run . . . . . . . . . . . in     ''
^   619 | run                       in java.lang.Thread
Caused by ClassNotFoundException: org.apache.lucene.util.Version
->> 156 | findClass                 in org.codehaus.groovy.tools.RootLoader
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
|   307 | loadClass                 in java.lang.ClassLoader
|   128 | loadClass . . . . . . . . in org.codehaus.groovy.tools.RootLoader
|   248 | loadClass                 in java.lang.ClassLoader
|   113 | <clinit> . . . . . . . .  in org.neo4j.index.impl.lucene.LuceneDataSource
|    72 | load                      in org.neo4j.index.lucene.LuceneIndexProvider
|   1171 | loadIndexImplementations  in org.neo4j.kernel.InternalAbstractGraphDatabase$DefaultKernelExtensionLoader
|   1143 | init                      in     ''
|   382 | init . . . . . . . . . .  in org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance
|    82 | init                      in org.neo4j.kernel.lifecycle.LifeSupport
|   116 | start . . . . . . . . . . in     ''
|   227 | run                       in org.neo4j.kernel.InternalAbstractGraphDatabase
|    79 | <init> . . . . . . . . .  in org.neo4j.kernel.EmbeddedGraphDatabase
|    70 | newDatabase               in org.neo4j.graphdb.factory.GraphDatabaseFactory$1
|   205 | newGraphDatabase . . . .  in org.neo4j.graphdb.factory.GraphDatabaseBuilder
|    21 | getGraph                  in resources
|     8 | doCall . . . . . . . . .  in resources$_run_closure1
|   736 | invokeBeanDefiningClosure in grails.spring.BeanBuilder
|   569 | beans . . . . . . . . . . in     ''
|   303 | innerRun                  in java.util.concurrent.FutureTask$Sync
|   138 | run . . . . . . . . . . . in java.util.concurrent.FutureTask
|   886 | runTask                   in java.util.concurrent.ThreadPoolExecutor$Worker
|   908 | run . . . . . . . . . . . in     ''
^   619 | run                       in java.lang.Thread

昨日、このデータベースを他のアプリケーションから読み込むことができました。この問題の解決策を探しているときに、Neo4j Google グループに関するこのディスカッションに出会いました。この問題は、Neo4j の私のバージョン (1.8、先週ダウンロード) では既に解決されているはずです。次に何を試せばよいでしょうか?

アップデート

BuildConfig.groovy. ほとんどの在庫。mavenLocal()コメントなし; 休止状態が削除されました。

grails.servlet.version = "2.5" // Change depending on target container compliance (2.5 or 3.0)
grails.project.class.dir = "target/classes"
grails.project.test.class.dir = "target/test-classes"
grails.project.test.reports.dir = "target/test-reports"
grails.project.target.level = 1.6
grails.project.source.level = 1.6
//grails.project.war.file = "target/${appName}-${appVersion}.war"

grails.project.dependency.resolution = {
    // inherit Grails' default dependencies
    inherits("global") {
        // uncomment to disable ehcache
        // excludes 'ehcache'
    }
    log "warn" // log level of Ivy resolver, either 'error', 'warn', 'info', 'debug' or 'verbose'
    checksums true // Whether to verify checksums on resolve

    repositories {
        inherits true // Whether to inherit repository definitions from plugins
        grailsPlugins()
        grailsHome()
        grailsCentral()
        mavenCentral()



        // uncomment these to enable remote dependency resolution from public Maven repositories
        //mavenCentral()
        mavenLocal()
       //mavenRepo "http://snapshots.repository.codehaus.org"
        //mavenRepo "http://repository.codehaus.org"
        //mavenRepo "http://download.java.net/maven/2/"
        //mavenRepo "http://repository.jboss.com/maven2/"
    }
    dependencies {
        // specify dependencies here under either 'build', 'compile', 'runtime', 'test' or 'provided' scopes eg.

        // runtime 'mysql:mysql-connector-java:5.1.16'
    }

    plugins {
//        runtime ":hibernate:$grailsVersion"
        runtime ":jquery:1.7.1"
        runtime ":resources:1.1.6"

        // Uncomment these (or add new ones) to enable additional resources capabilities
        //runtime ":zipped-resources:1.0"
        //runtime ":cached-resources:1.0"
        //runtime ":yui-minify-resources:0.1.4"

        build ":tomcat:$grailsVersion"
    }
}
4

1 に答える 1

1

grails-app/conf/BuildConfig.groovyの依存関係セクションに追加します。

compile('org.neo4j:neo4j-community:1.8')
于 2012-11-02T21:35:51.413 に答える