Phil - you are the first person to ever make that mistake. Nope, not true :) No worries and thanks for following up. I believe once we have the extension registry in play this sort of thing will be much easier/simpler.
Thanks On Mon, Nov 6, 2017 at 1:20 PM, Phil H <[email protected]> wrote: > Hey, now I see the problem - I had (somehow?!?) managed to copy the JAR file > rather than the NAR file > > > >> On 7 Nov 2017, at 5:17 am, Phil H <[email protected]> wrote: >> >> Thanks Bryan, >> >> This new NAR does not appear in the extensions directory (my other working >> ones do). >> >> As for your second question >> >> [phil@localhost JSONCondenser]$ ls ~/nifi-1.3.0/lib/ | grep jar >> javax.servlet-api-3.1.0.jar >> jcl-over-slf4j-1.7.25.jar >> jetty-schemas-3.1.jar >> jul-to-slf4j-1.7.25.jar >> log4j-over-slf4j-1.7.25.jar >> logback-classic-1.2.3.jar >> logback-core-1.2.3.jar >> nifi-api-1.3.0.jar >> nifi-framework-api-1.3.0.jar >> nifi-JSONCondenser-processors-0.1.jar >> nifi-nar-utils-1.3.0.jar >> nifi-properties-1.3.0.jar >> nifi-runtime-1.3.0.jar >> slf4j-api-1.7.25.jar >> >> >>> On 7 Nov 2017, at 5:13 am, Bryan Bende <[email protected]> wrote: >>> >>> Thanks for the poms. >>> >>> Can you provide the output of listing >>> NIFI_HOME/work/nar/extensions/<your-nar>.nar-unpacked/META-INF/bundled-dependencies/ >>> ? >>> >>> and also the output of listing JARs that are in NiFi's lib directory? >>> ls -l NIFI_HOME/lib/ | grep jar >>> >>> Want to verify that nifi-utils JAR is actually in your NAR and also >>> that no other unexpected JARs are in your lib directory. >>> >>> Thanks, >>> >>> Bryan >>> >>> On Mon, Nov 6, 2017 at 12:48 PM, Phil H <[email protected]> wrote: >>>> ./pom.xml (Note that this issue occurred BEFORE I added the external JAR >>>> dependency, and I have that exact same org.json dependency in a bunch of >>>> other processors I have written without issue) >>>> >>>> <project xmlns="http://maven.apache.org/POM/4.0.0" >>>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >>>> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 >>>> http://maven.apache.org/xsd/maven-4.0.0.xsd"> >>>> <modelVersion>4.0.0</modelVersion> >>>> >>>> <parent> >>>> <groupId>org.apache.nifi</groupId> >>>> <artifactId>nifi-nar-bundles</artifactId> >>>> <version>1.3.0</version> >>>> </parent> >>>> >>>> <repositories> >>>> <repository> >>>> <id>project.local</id> >>>> <name>projects</name> >>>> <url>file:${project.basedir}/repo</url> >>>> </repository> >>>> </repositories> >>>> >>>> <groupId>com.jidmu</groupId> >>>> <artifactId>JSONCondenser</artifactId> >>>> <version>0.1</version> >>>> <packaging>pom</packaging> >>>> >>>> <modules> >>>> <module>nifi-JSONCondenser-processors</module> >>>> <module>nifi-JSONCondenser-nar</module> >>>> </modules> >>>> >>>> <dependencies> >>>> <dependency> >>>> <groupId>org.json</groupId> >>>> <artifactId>JSON</artifactId> >>>> <version>1.0</version> >>>> </dependency> >>>> </dependencies> >>>> >>>> </project> >>>> >>>> >>>> >>>> ./nifi-JSONCondenser-processors/pom.xml >>>> <project xmlns="http://maven.apache.org/POM/4.0.0" >>>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >>>> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 >>>> http://maven.apache.org/xsd/maven-4.0.0.xsd"> >>>> <modelVersion>4.0.0</modelVersion> >>>> >>>> <parent> >>>> <groupId>com.jidmu</groupId> >>>> <artifactId>JSONCondenser</artifactId> >>>> <version>0.1</version> >>>> </parent> >>>> >>>> <artifactId>nifi-JSONCondenser-processors</artifactId> >>>> <packaging>jar</packaging> >>>> >>>> <dependencies> >>>> <dependency> >>>> <groupId>org.apache.nifi</groupId> >>>> <artifactId>nifi-api</artifactId> >>>> </dependency> >>>> <dependency> >>>> <groupId>org.apache.nifi</groupId> >>>> <artifactId>nifi-utils</artifactId> >>>> </dependency> >>>> <dependency> >>>> <groupId>org.apache.nifi</groupId> >>>> <artifactId>nifi-mock</artifactId> >>>> <scope>test</scope> >>>> </dependency> >>>> <dependency> >>>> <groupId>org.slf4j</groupId> >>>> <artifactId>slf4j-simple</artifactId> >>>> <scope>test</scope> >>>> </dependency> >>>> <dependency> >>>> <groupId>junit</groupId> >>>> <artifactId>junit</artifactId> >>>> <scope>test</scope> >>>> </dependency> >>>> </dependencies> >>>> </project> >>>> >>>> ./nifi-JSONCondenser-nar/pom.xml >>>> <project xmlns="http://maven.apache.org/POM/4.0.0" >>>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >>>> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 >>>> http://maven.apache.org/xsd/maven-4.0.0.xsd"> >>>> <modelVersion>4.0.0</modelVersion> >>>> >>>> <parent> >>>> <groupId>com.jidmu</groupId> >>>> <artifactId>JSONCondenser</artifactId> >>>> <version>0.1</version> >>>> </parent> >>>> >>>> <artifactId>nifi-JSONCondenser-nar</artifactId> >>>> <version>0.1</version> >>>> <packaging>nar</packaging> >>>> <properties> >>>> <maven.javadoc.skip>true</maven.javadoc.skip> >>>> <source.skip>true</source.skip> >>>> </properties> >>>> >>>> <dependencies> >>>> <dependency> >>>> <groupId>com.jidmu</groupId> >>>> <artifactId>nifi-JSONCondenser-processors</artifactId> >>>> <version>0.1</version> >>>> </dependency> >>>> </dependencies> >>>> >>>> </project> >>>> >>>> >>>> >>>>> On 7 Nov 2017, at 4:39 am, Bryan Bende <[email protected]> wrote: >>>>> >>>>> It is most likely an issue with the Maven configuration in one of your >>>>> modules. >>>>> >>>>> Can you share your project, or the pom files for the processors, NAR, >>>>> and bundle? >>>>> >>>>> Thanks, >>>>> >>>>> Bryan >>>>> >>>>> >>>>> On Mon, Nov 6, 2017 at 12:20 PM, Phil H <[email protected]> wrote: >>>>>> Nifi version is 1.3.0, running on Java 1.8.0_131, running on a >>>>>> out-of-the-box CentOS (if that’s relevant) >>>>>> >>>>>>> On 7 Nov 2017, at 4:17 am, Phil H <[email protected]> wrote: >>>>>>> >>>>>>> I added the StandardValidators reference back in and the original error >>>>>>> reoccurs. The offending code (which compiles fine using the same JDK) >>>>>>> is totally standard stuff: >>>>>>> >>>>>>> public static final PropertyDescriptor ID_PATH = new PropertyDescriptor >>>>>>> .Builder().name("ID_PATH") >>>>>>> .displayName("JSON ID Path") >>>>>>> .description("The path to the JSON attribute that represents >>>>>>> the unique ID for the object") >>>>>>> .addValidator(StandardValidators.NON_BLANK_VALIDATOR) >>>>>>> .required(true) >>>>>>> .build(); >>>>>>> >>>>>>> >>>>>>> 2017-11-07 04:13:46,855 ERROR [main] org.apache.nifi.NiFi Failure to >>>>>>> launch NiFi due to java.util.ServiceConfigurationError: >>>>>>> org.apache.nifi.processor.Processor: Provider >>>>>>> com.jidmu.processors.JSONCondenser.JSONCondenser could not be >>>>>>> instantiated >>>>>>> java.util.ServiceConfigurationError: >>>>>>> org.apache.nifi.processor.Processor: Provider >>>>>>> com.jidmu.processors.JSONCondenser.JSONCondenser could not be >>>>>>> instantiated >>>>>>> at java.util.ServiceLoader.fail(ServiceLoader.java:232) >>>>>>> at java.util.ServiceLoader.access$100(ServiceLoader.java:185) >>>>>>> at >>>>>>> java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:384) >>>>>>> at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:404) >>>>>>> at java.util.ServiceLoader$1.next(ServiceLoader.java:480) >>>>>>> at >>>>>>> org.apache.nifi.nar.ExtensionManager.loadExtensions(ExtensionManager.java:138) >>>>>>> at >>>>>>> org.apache.nifi.nar.ExtensionManager.discoverExtensions(ExtensionManager.java:104) >>>>>>> at org.apache.nifi.web.server.JettyServer.start(JettyServer.java:699) >>>>>>> at org.apache.nifi.NiFi.<init>(NiFi.java:160) >>>>>>> at org.apache.nifi.NiFi.main(NiFi.java:267) >>>>>>> Caused by: java.lang.NoClassDefFoundError: >>>>>>> org/apache/nifi/processor/util/StandardValidators >>>>>>> at >>>>>>> com.jidmu.processors.JSONCondenser.JSONCondenser.<clinit>(JSONCondenser.java:58) >>>>>>> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native >>>>>>> Method) >>>>>>> at >>>>>>> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) >>>>>>> at >>>>>>> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) >>>>>>> at java.lang.reflect.Constructor.newInstance(Constructor.java:423) >>>>>>> at java.lang.Class.newInstance(Class.java:442) >>>>>>> at >>>>>>> java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:380) >>>>>>> ... 7 common frames omitted >>>>>>> Caused by: java.lang.ClassNotFoundException: >>>>>>> org.apache.nifi.processor.util.StandardValidators >>>>>>> at java.net.URLClassLoader.findClass(URLClassLoader.java:381) >>>>>>> at java.lang.ClassLoader.loadClass(ClassLoader.java:424) >>>>>>> at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335) >>>>>>> at java.lang.ClassLoader.loadClass(ClassLoader.java:357) >>>>>>> ... 14 common frames omitted >>>>>>> >>>>>>> >>>>>>>> On 7 Nov 2017, at 4:02 am, Joe Witt <[email protected]> wrote: >>>>>>>> >>>>>>>> Can you share the code by chance for a review? Otherwise, you'll want >>>>>>>> to add a debugger at runtime and examine the context classloader as it >>>>>>>> goes through to see where it goes wonky. >>>>>>>> >>>>>>>> What version are you on? >>>>>>>> >>>>>>>> Thanks >>>>>>>> >>>>>>>> On Mon, Nov 6, 2017 at 11:58 AM, Phil H <[email protected]> wrote: >>>>>>>>> Hi guys, >>>>>>>>> >>>>>>>>> I have just (today) started having issues with a new processor I've >>>>>>>>> written where a seemingly random class (e.g.: StandardValidators) >>>>>>>>> fails to load when NiFi is initializing. I've created this processor >>>>>>>>> like all my others (using the maven archetype) and the VM I'm running >>>>>>>>> it on has not changed versions of any software. >>>>>>>>> >>>>>>>>> I removed any reference to StandardValidators, and the NAR then >>>>>>>>> loaded successfully. As I added some more functionality, I then had >>>>>>>>> the same ClassNotFoundException occur with a different random class. >>>>>>>>> >>>>>>>>> Because I have used the maven archetype, all my other processors >>>>>>>>> obviously use StandardValidators, so it's not like the class itself >>>>>>>>> is somehow corrupted. This feels like either a NiFi or maybe even JVM >>>>>>>>> bug (or other issue that is surfacing as this ClassNotFoundException). >>>>>>>>> >>>>>>>>> Pulling my hair out here - would love some help! >>>>>>>>> >>>>>>>>> Cheers, >>>>>>>>> Phil >>>>>>> >>>>>> >>>> >> >
