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


Reply via email to