将SDN-4添加到GF-3: Exception while loading app: IllegalStateExce



要使用neo4j-graphdatabase独立服务器,我将SDN 3.1.2的依赖项添加到我的pom中。

 <dependency>
        <groupId>org.springframework.data</groupId>
        <artifactId>spring-data-neo4j-rest</artifactId>
        <version>3.1.2.RELEASE</version>
 </dependency>

由于Neo4jCdiRepositoryExtension,我可以使用spring-data-neo4j而不需要完整的Spring-Framework(通过CDI)。

现在我想把我的SDN版本更新到4.0.0.M1.

<dependency>
    <groupId>org.springframework.data</groupId>
    <artifactId>spring-data-neo4j</artifactId>
    <version>4.0.0.M1</version>
</dependency>

我必须创建我自己的Neo4jCdiRepositoryExtension,这似乎很容易。部署流程构建我的新扩展。为了使用我的扩展,我需要这个类来提供所有需要的配置:

@ApplicationScoped
public class Neo4jConfigurationProvider {
@Resource(lookup = "rest/neo4j")
private String baseUriString;
private static final String PERSISTENCE_ROOT = "...";
private SessionFactory sessionFactory;
private Neo4jServer neo4jServer;
private Session session;
@PostConstruct
public void init() {
    neo4jServer = new RemoteServer(baseUriString);
    sessionFactory = new SessionFactory(PERSISTENCE_ROOT + ".person", PERSISTENCE_ROOT + ".relation",
            PERSISTENCE_ROOT + ".relations_type");
    session = sessionFactory.openSession(baseUriString);
}
@Produces
public SessionFactory sessionFactory() {
    return sessionFactory;
}
@Produces
public Neo4jServer neo4jServer() {
    return neo4jServer;
}
@Produces
public Neo4jTemplate neo4jTemplate() {
    return new Neo4jTemplate(session);
}
}

我的glassfish 3服务器给我这个错误信息,如果我想部署它:

remote failure: Error occurred during deployment: Exception while loading the app :
java.lang.IllegalStateException: ContainerBase.addChild: start: 
org.apache.catalina.LifecycleException: 
org.apache.catalina.LifecycleException: 
com.sun.jersey.spi.inject.Errors$ErrorMessagesException. 
Please see server.log for more details.

我现在的问题是:我怎么能修复这个错误?

首先我找不到任何server.log,因为我的服务器没有启动。因此,我复制了一个可以工作的版本,添加了sdn-4依赖项,并尝试获得它的任何日志。下面是来自我的server.log的错误:

在资源和/或提供程序类中检测到以下错误和警告:familymanager_1 | SEVERE:在参数索引0处,构造函数public org.neo4j.server.LoggingProvider(org.neo4j.kernel.logging.Logging)缺少依赖familymanager_1 | SEVERE:在参数索引0处,构造函数public org.neo4j.server.rest. transaction. transactionfilter (org.neo4j.server.database.Database)缺少依赖familymanager_1 | SEVERE:在参数索引0处,构造函数public org.neo4j.server.rest.repr.InputFormatProvider(org.neo4j.server.rest.repr.RepresentationFormatRepository)缺少依赖familymanager_1 | SEVERE:在参数索引0处,构造函数public org.neo4j.server.rest.repr.OutputFormatProvider(org.neo4j.server.rest.repr.RepresentationFormatRepository)缺少依赖org.neo4j.server.rest. page . leasemanagerprovider (org.neo4j.server.rest. page . leasemanager)在参数索引0处缺少依赖familymanager_1 | SEVERE:在参数索引0处,构造函数public org.neo4j.server.NeoServerProvider(org.neo4j.server.NeoServer)缺少依赖org.neo4j.server.plugins.PluginInvocatorProvider(org.neo4j.server.AbstractNeoServer)在参数索引0处缺少依赖org.neo4j.server.database.ExecutionEngineProvider(org.neo4j.server.database.CypherExecutor)在参数索引0处缺少依赖关系org.neo4j.server.database.CypherExecutorProvider(org.neo4j.server.database.CypherExecutor)在参数索引0处缺少依赖org.neo4j.server.database.GraphDatabaseServiceProvider(org.neo4j.server.database.Database)在参数索引0处缺少依赖关系familymanager_1 | SEVERE:在参数索引0处,构造函数public org.neo4j.server.database.DatabaseProvider(org.neo4j.server.database.Database)缺少依赖familymanager_1 | SEVERE:在参数索引0处,构造函数public org.neo4j.server. rdr . rrddbprovider (org.neo4j.server.database.RrdDbWrapper)缺少依赖familymanager_1 | SEVERE:在参数索引为0时,构造函数public org.neo4j.server.web.WebServerProvider(org.neo4j.server.web.WebServer)缺少依赖org.neo4j.server.web.InjectableWrapper(org.neo4j.server.plugins.Injectable)在参数索引0处缺少依赖familymanager_1 | SEVERE:在参数索引0处,构造函数公共org.neo4j.server.rest.dbms.UserService(org.neo4j.server.security.auth.AuthManager,org.neo4j.server.rest.repr.InputFormat,org.neo4j.server.rest.repr.OutputFormat)缺少依赖familymanager_1 | SEVERE:在参数索引0处,构造函数公共org.neo4j.server.rest.management.console.ConsoleService(org.neo4j.kernel.configuration.Config,org.neo4j.server.database.Database,javax.servlet.http.HttpServletRequest,org.neo4j.server.rest.repr.OutputFormat,org.neo4j.server.database.CypherExecutor)缺少依赖familymanager_1 | SEVERE:在参数索引0

处,构造函数public org.neo4j.server.rest.discovery.DiscoveryService(org.neo4j.kernel.configuration.Config,org.neo4j.server.rest.repr.OutputFormat)缺少依赖

我在spring-data-neo4j依赖项中搜索另一个服务器实例,找到了"neo4j-server"。为了使用这个框架,我将这个服务器从我的pom中的sdn-4依赖项中排除:

    <dependency>
        <groupId>org.springframework.data</groupId>
        <artifactId>spring-data-neo4j</artifactId>
        <version>4.0.0.RC1</version>
        <exclusions>
            <exclusion>
                <groupId>org.neo4j.app</groupId>
                <artifactId>neo4j-server</artifactId>
            </exclusion>
        </exclusions>
    </dependency>

现在我可以在JavaEE 6下使用spring-data-neo4j 4-RC1版本

相关内容

最新更新