首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >切换到1.3.0后,jQAssistant命令行停止工作

切换到1.3.0后,jQAssistant命令行停止工作
EN

Stack Overflow用户
提问于 2017-09-26 13:03:26
回答 1查看 184关注 0票数 0

我习惯于将gradle构建配置为(基本上)在jQAssistent中使用build.gradle中的这个片段:

代码语言:javascript
复制
    project.ext["jqaversion"] = "1.3.0"
    project.ext["jqacoreversion"] = "1.3"
    configurations {
        jqaRuntime
    }

    dependencies {
        // jQA 1.2
    //    jqaRuntime("com.buschmais.jqassistant:commandline:${project.jqaversion}")
        // jQA 1.3
        jqaRuntime("com.buschmais.jqassistant:jqassistant-commandline:${project.jqaversion}")

        jqaRuntime("com.buschmais.jqassistant.plugin:java:${project.jqacoreversion}")
        jqaRuntime("com.buschmais.jqassistant.plugin:junit:${project.jqacoreversion}")
    }

    task removeJQAReport(type: Delete) {
        delete 'jqassistant/report'
        delete 'jqassistant/store'
    }

    task(jqascan, dependsOn: 'removeJQAReport', type: JavaExec) {
        main = 'com.buschmais.jqassistant.commandline.Main'
        classpath = configurations.jqaRuntime
        args 'scan'
        args '-p'
        args 'jqassistant/jqassistant.properties'
        args '-f'
        args 'java:classpath::build/classes/main'
        args 'java:classpath::build/classes/test'
    }

    task(jqaanalyze, type: JavaExec) {
        main = 'com.buschmais.jqassistant.commandline.Main'
        classpath = configurations.jqaRuntime
        args 'analyze'
        args '-r'
        args 'jqassistant/jqassistant-rules'
    }

    task(jqa, dependsOn: ['jqascan', 'jqaanalyze']) {
        jqaanalyze.mustRunAfter jqascan
    }

    task(jqs, type: JavaExec) {
        main = 'com.buschmais.jqassistant.commandline.Main'
        classpath = configurations.jqaRuntime
        args 'server'
        standardInput = System.in
    }

在jQA 1.2.0之前,这一切都很好。在更新到1.3.0之后,我得到了这个异常:

代码语言:javascript
复制
    2017-09-26 14:42:33.793 [main] INFO PluginConfigurationReaderImpl - Loaded jQAssistant plugins [Common, Core Analysis, JUnit, Java, XML].
    2017-09-26 14:42:33.826 [main] INFO StoreFactory - Connecting to store at 'file:/C:/Users/jn/projects/jqa-with-gradle/jqassistant/store'
    Exception in thread "main" java.lang.NoSuchFieldError: BOOLEAN
            at org.neo4j.shell.ShellSettings.<clinit>(ShellSettings.java:42)
            at sun.misc.Unsafe.ensureClassInitialized(Native Method)
            at sun.reflect.UnsafeFieldAccessorFactory.newFieldAccessor(UnsafeFieldAccessorFactory.java:43)
            at sun.reflect.ReflectionFactory.newFieldAccessor(ReflectionFactory.java:142)
            at java.lang.reflect.Field.acquireFieldAccessor(Field.java:1088)
            at java.lang.reflect.Field.getFieldAccessor(Field.java:1069)
            at java.lang.reflect.Field.get(Field.java:393)
            at org.neo4j.kernel.configuration.AnnotatedFieldHarvester.findStatic(AnnotatedFieldHarvester.java:47)
            at org.neo4j.kernel.configuration.AnnotationBasedConfigurationMigrator.<init>(AnnotationBasedConfigurationMigrator.java:39)
            at org.neo4j.kernel.configuration.Config.<init>(Config.java:106)
            at org.neo4j.kernel.configuration.Config.<init>(Config.java:96)
            at org.neo4j.kernel.impl.factory.PlatformModule.<init>(PlatformModule.java:127)
            at org.neo4j.kernel.impl.factory.GraphDatabaseFacadeFactory.createPlatform(GraphDatabaseFacadeFactory.java:232)
            at org.neo4j.kernel.impl.factory.GraphDatabaseFacadeFactory.initFacade(GraphDatabaseFacadeFactory.java:146)
            at org.neo4j.kernel.impl.factory.GraphDatabaseFacadeFactory.newFacade(GraphDatabaseFacadeFactory.java:130)
            at org.neo4j.graphdb.factory.GraphDatabaseFactory.newDatabase(GraphDatabaseFactory.java:101)
            at org.neo4j.graphdb.factory.GraphDatabaseFactory.lambda$createDatabaseCreator$0(GraphDatabaseFactory.java:89)
            at org.neo4j.graphdb.factory.GraphDatabaseBuilder.newGraphDatabase(GraphDatabaseBuilder.java:183)
            at com.buschmais.xo.neo4j.embedded.api.FileDatastoreFactory.createGraphDatabaseService(FileDatastoreFactory.java:31)
            at com.buschmais.xo.neo4j.embedded.api.FileDatastoreFactory.createGraphDatabaseService(FileDatastoreFactory.java:16)
            at com.buschmais.xo.neo4j.embedded.api.EmbeddedNeo4jXOProvider.createDatastore(EmbeddedNeo4jXOProvider.java:24)
            at com.buschmais.xo.impl.XOManagerFactoryImpl.<init>(XOManagerFactoryImpl.java:48)
          m.buschmais.xo.impl.bootstrap.XOBootstrapServiceImpl.createXOManagerFactory(XOBootstrapServiceImpl.java:39)
            at com.buschmais.xo.api.bootstrap.XO.createXOManagerFactory(XO.java:43)
            at com.buschmais.jqassistant.core.store.impl.AbstractGraphStore.start(AbstractGraphStore.java:49)
            at com.buschmais.jqassistant.commandline.task.AbstractTask.run(AbstractTask.java:67)
            at com.buschmais.jqassistant.commandline.Main.executeTask(Main.java:253)
            at com.buschmais.jqassistant.commandline.Main.interpretCommandLine(Main.java:205)
            at com.buschmais.jqassistant.commandline.Main.run(Main.java:91)
            at com.buschmais.jqassistant.commandline.Main.main(Main.java:62)
    :jqascan FAILED

您可以在https://github.com/kontext-e/jqa-gradle找到一个完整的示例

Maven项目工作正常,一个命令行jQA版本在1.3中不可下载(只有1.2 )。

有什么想法吗?我是否必须为1.3明确指定Neo4j版本?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-10-01 16:46:46

显然,这是一个Gradle类路径问题,因为jQAssistant命令行分发版运行良好。因此,我以以下方式修改了build.gradle文件:

代码语言:javascript
复制
    dependencies {
        jqaRuntime("com.buschmais.jqassistant:jqassistant-commandline:${project.jqaversion}") {
            // because jQA 1.3 comes with Neo4j 2 and 3 support, there would be a classpath conflict
            exclude module: 'neo4j'
        }

        jqaRuntime("com.buschmais.jqassistant.plugin:java:${project.jqaversion.substring(0, 3)}")
        jqaRuntime("com.buschmais.jqassistant.plugin:junit:${project.jqaversion.substring(0, 3)}")
    }

https://github.com/kontext-e/jqa-gradle上提到的示例也是以这种方式更新的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46427356

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档