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 <gippyp...@gmail.com> 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 <bbe...@gmail.com> 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 <gippyp...@gmail.com> 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 <gippyp...@gmail.com> 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 <joe.w...@gmail.com> 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 <gippyp...@gmail.com> 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 >>>> >>> >