./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
>>> 
>> 

Reply via email to