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