jqassistant-plugin / jqassistant-apoc-plugin

jQAssistant plugin to provide Neo4j APOC extensions
GNU General Public License v3.0
1 stars 0 forks source link

Cannot find or load class apoc.algo.Cover #5

Open yokikooo opened 6 months ago

yokikooo commented 6 months ago

I'm using jqassistant.cli-jqassistant-commandline-distribution-2.0.0 from https://repo1.maven.org/maven2/com/buschmais/jqassistant/cli/jqassistant-commandline-distribution/2.0.0/jqassistant-commandline-distribution-2.0.0-bin.zip and jqassistant-apoc-plugin-2.0.0.jar from https://repo1.maven.org/maven2/org/jqassistant/plugin/jqassistant-apoc-plugin/2.0.0/jqassistant-apoc-plugin-2.0.0.jar

when I run scan: ./jqassistant/bin/jqassistant.sh scan or start the server: ./jqassistant/bin/jqassistant.sh server I get the following exception: Exception in thread "main" com.buschmais.jqassistant.core.runtime.api.plugin.PluginRepositoryException: Cannot find or load class apoc.algo.Cover at com.buschmais.jqassistant.core.runtime.impl.plugin.AbstractPluginRepository.getType(AbstractPluginRepository.java:53) at com.buschmais.jqassistant.core.runtime.impl.plugin.StorePluginRepositoryImpl.getTypes(StorePluginRepositoryImpl.java:60) at com.buschmais.jqassistant.core.runtime.impl.plugin.StorePluginRepositoryImpl.(StorePluginRepositoryImpl.java:30) at com.buschmais.jqassistant.core.runtime.impl.plugin.PluginRepositoryImpl.initialize(PluginRepositoryImpl.java:43) at com.buschmais.jqassistant.commandline.Main.executeTasks(Main.java:236) at com.buschmais.jqassistant.commandline.Main.interpretCommandLine(Main.java:187) at com.buschmais.jqassistant.commandline.Main.run(Main.java:81) at com.buschmais.jqassistant.commandline.Main.main(Main.java:62) Caused by: java.lang.ClassNotFoundException: apoc.algo.Cover at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:476) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:589) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522) at com.buschmais.jqassistant.core.runtime.impl.plugin.AbstractPluginRepository.getType(AbstractPluginRepository.java:49) ... 7 more

Can you please help me? I don't understand what I'm missing.

DirkMahler commented 6 months ago

This is a know issue which required changes to jQAssistant itself. We just released 2.1.0 with a new mechanism of registering Neo4j plugins, they're now specified directly in the config file .jqassistant.yml:

For the Neo4j 4x. command line distribution:

jqassistant:
  store:
    embedded:
      neo4j-plugins:
        - group-id: org.neo4j.procedure
          artifact-id: apoc
          version: 4.4.0.25

For the Neo4j 5x. command line distribution:

jqassistant:
  store:
    embedded:
      neo4j-plugins:
        - group-id: org.neo4j.procedure
          artifact-id: apoc-core
          classifier: core
          version: 5.17.0

For the Maven plugin the selected Neo4j version depends on the Java runtime (11 for Neo4j v4, 17 or later for Neo4j v5) and you will have to specify the according APOC plugin. Can you verify this for you?

yokikooo commented 5 months ago

Thank you for the reply @DirkMahler , I have added the config in my .jqassistant.yml and now I'm able to use apoc with the Neo4j 4x command line.

Could you please help me with the following: How can I configure files which should be excluded for the scan file.exclude=/BOOT-INF/lib/,/lib/ I have tried to add the following to my .jqassistant.yml but it does not work, still scans the lib folders

jqassistant: scan: include: files:

  • "!/BOOT-INF/lib/**"
  • "!/lib/"