Hello all,

I am encountering an error when trying to run my custom StreamPipes Sink. When I start it in IntelliJ IDEA everything works as expected. When I create a JAR file with the command

'mvn clean package javadoc:aggregate -U -DskipTests -Denforcer.skip'

it successfully creates the JAR file for my sink. Now when I run the file with

'java -jar <PATH>.jar' I get the following error:

'''

_______ __                              ______ __
|     __|  |_.----.-----.---.-.--------.|   __ \__|.-----.-----.-----.
|__     |   _|   _|  -__|  _  |        ||    __/  ||  _  |  -__|__ --|
|_______|____|__| |_____|___._|__|__|__||___|  |__||   __|_____|_____|
                                                   |__|
** StreamPipes Pipeline Element Container **17:19:58.572 SP [main] INFO  
gmbh.edi.hive_pipeline_elements.Init - Starting Init on doemski-XPS-13-9370 
with PID 15468 
(/home/doemski/dev/streampipes_custom_pipeline_elements/HivePipelineElements/target/measurement-sink.jar
 started by doemski in 
/home/doemski/dev/streampipes_custom_pipeline_elements/HivePipelineElements)
17:19:58.574 SP [main] INFO  gmbh.edi.hive_pipeline_elements.Init - No active 
profile set, falling back to default profiles: default
17:19:58.659 SP [main] ERROR o.s.boot.SpringApplication - Application run failed
java.lang.IllegalArgumentException: No auto configuration classes found in 
META-INF/spring.factories. If you are using a custom packaging, make sure that 
file is correct.
        at org.springframework.util.Assert.notEmpty(Assert.java:464)
        at 
org.springframework.boot.autoconfigure.AutoConfigurationImportSelector.getCandidateConfigurations(AutoConfigurationImportSelector.java:173)
        at 
org.springframework.boot.autoconfigure.AutoConfigurationImportSelector.getAutoConfigurationEntry(AutoConfigurationImportSelector.java:116)
        at 
org.springframework.boot.autoconfigure.AutoConfigurationImportSelector$AutoConfigurationGroup.process(AutoConfigurationImportSelector.java:396)
        at 
org.springframework.context.annotation.ConfigurationClassParser$DeferredImportSelectorGrouping.getImports(ConfigurationClassParser.java:875)
        at 
org.springframework.context.annotation.ConfigurationClassParser$DeferredImportSelectorGroupingHandler.processGroupImports(ConfigurationClassParser.java:801)
        at 
org.springframework.context.annotation.ConfigurationClassParser$DeferredImportSelectorHandler.process(ConfigurationClassParser.java:771)
        at 
org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:185)
        at 
org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:315)
        at 
org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:232)
        at 
org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:275)
        at 
org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:95)
        at 
org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:705)
        at 
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:531)
        at 
org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:141)
        at 
org.springframework.boot.SpringApplication.refresh(SpringApplication.java:744)
        at 
org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:391)
        at 
org.springframework.boot.SpringApplication.run(SpringApplication.java:312)
        at 
org.streampipes.container.standalone.init.StandaloneModelSubmitter.init(StandaloneModelSubmitter.java:54)
        at gmbh.edi.hive_pipeline_elements.Init.main(Init.java:34)
Process finished with exit code 1

'''

My pom.xml:

'''

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0  
<https://slack-redir.net/link?url=http%3A%2F%2Fmaven.apache.org%2FPOM%2F4.0.0&v=3>" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance  
<https://slack-redir.net/link?url=http%3A%2F%2Fwww.w3.org%2F2001%2FXMLSchema-instance&v=3>"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0  
<https://slack-redir.net/link?url=http%3A%2F%2Fmaven.apache.org%2FPOM%2F4.0.0&v=3>  
http://maven.apache.org/xsd/maven-4.0.0.xsd  
<https://slack-redir.net/link?url=http%3A%2F%2Fmaven.apache.org%2Fxsd%2Fmaven-4.0.0.xsd&v=3>">
    <modelVersion>4.0.0</modelVersion>
    <groupId>gmbh.edi</groupId>
    <artifactId>measurement-sink</artifactId>
    <version>1.0-SNAPSHOT</version>     <properties>
        <sp.version>0.64.0</sp.version>
        <start-class>gmbh.edi.hive_pipeline_elements.Init</start-class>
    </properties>     <dependencies>
        <dependency>
            <groupId>org.streampipes</groupId>
            <artifactId>streampipes-wrapper-standalone</artifactId>
            <version>${sp.version}</version>
        </dependency>
        <dependency>
            <groupId>org.streampipes</groupId>
            <artifactId>streampipes-sdk</artifactId>
            <version>${sp.version}</version>
        </dependency>
        <dependency>
            <groupId>org.streampipes</groupId>
            <artifactId>streampipes-container-standalone</artifactId>
            <version>${sp.version}</version>
        </dependency>
        <dependency>
            <groupId>org.streampipes</groupId>
            <artifactId>streampipes-config</artifactId>
            <version>${sp.version}</version>
        </dependency>
        <dependency>
            <groupId>org.streampipes</groupId>
            <artifactId>streampipes-dataformat-json</artifactId>
            <version>${sp.version}</version>
        </dependency>
        <dependency>
            <groupId>org.streampipes</groupId>
            <artifactId>streampipes-dataformat-cbor</artifactId>
            <version>${sp.version}</version>
        </dependency>
        <dependency>
            <groupId>org.streampipes</groupId>
            <artifactId>streampipes-dataformat-smile</artifactId>
            <version>${sp.version}</version>
        </dependency>
        <dependency>
            <groupId>org.streampipes</groupId>
            <artifactId>streampipes-dataformat-fst</artifactId>
            <version>${sp.version}</version>
        </dependency>
        <dependency>
            <groupId>org.streampipes</groupId>
            <artifactId>streampipes-messaging-jms</artifactId>
            <version>${sp.version}</version>
        </dependency>
        <dependency>
            <groupId>org.streampipes</groupId>
            <artifactId>streampipes-messaging-kafka</artifactId>
            <version>${sp.version}</version>
        </dependency>
        <dependency>
            <groupId>javax.validation</groupId>
            <artifactId>validation-api</artifactId>
            <version>2.0.1.Final</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.json/json -->
        <dependency>
            <groupId>org.json</groupId>
            <artifactId>json</artifactId>
            <version>20190722</version>
        </dependency>     </dependencies>     <repositories>
        <repository>
            <id>laus</id>
            <name>nexus repository</name>
            <url>http://laus.fzi.de/nexus/content/repositories/public/  
<https://slack-redir.net/link?url=http%3A%2F%2Flaus.fzi.de%2Fnexus%2Fcontent%2Frepositories%2Fpublic%2F&v=3></url>
            <releases>
                <enabled>true</enabled>
                <updatePolicy>daily</updatePolicy>
            </releases>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
        </repository>
    </repositories>     <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-shade-plugin</artifactId>
                <version>2.3</version>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>shade</goal>
                        </goals>
                        <configuration>
                            
<createDependencyReducedPom>false</createDependencyReducedPom>
                            <transformers>
                                <transformer
                                        
implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                                    
<mainClass>gmbh.edi.hive_pipeline_elements.Init</mainClass>
                                </transformer>
                                <transformer
                                        
implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/>
                            </transformers>
                            <filters>                                 <filter>
                                    <artifact>*:*</artifact>
                                    <excludes>
                                        <exclude>META-INF/*.SF</exclude>
                                        <exclude>META-INF/*.DSA</exclude>
                                        <exclude>META-INF/*.RSA</exclude>
                                        
<exclude>META-INF/maven/com.github.jsonld-java/jsonld-java/pom.xml</exclude>
                                        
<exclude>META-INF/maven/com.github.jsonld-java/jsonld-java-sesame/pom.xml
                                        </exclude>
                                    </excludes>
                                </filter>
                            </filters>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.1</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>
        </plugins>
        <finalName>measurement-sink</finalName>
    </build>
</project>

'''

As you can see, the container starts up normally and then crashes due to spring.boot.


After searching for the error message I tried adding a 'META-INF' folder under 'src/main/resources' containing a MANIFEST.MF file and a spring.factories file.


MANIFEST.MF:

'''

Manifest-Version: 1.0 Main-Class: gmbh.edi.hive_pipeline_elements.Init

'''


spring.factories:

'''

org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
org.streampipes.container.standalone.init.StandaloneModelSubmitter

'''


Those added files have changed my output to:

'''


 _______ __                              ______ __
|     __|  |_.----.-----.---.-.--------.|   __ \__|.-----.-----.-----.
|__     |   _|   _|  -__|  _  |        ||    __/  ||  _  |  -__|__ --|
|_______|____|__| |_____|___._|__|__|__||___|  |__|| __|_____|_____|
                                                   |__|
** StreamPipes Pipeline Element Container **

18:53:34.285 SP [main] INFO  gmbh.edi.hive_pipeline_elements.Init - Starting Init on doemski-XPS-13-9370 with PID 6147 (/home/doemski/dev/streampipes_custom_pipeline_elements/HivePipelineElements/target/measurement-sink.jar started by doemski in /home/doemski/dev/streampipes_custom_pipeline_elements/HivePipelineElements) 18:53:34.287 SP [main] INFO  gmbh.edi.hive_pipeline_elements.Init - No active profile set, falling back to default profiles: default 18:53:34.362 SP [main] ERROR o.s.boot.SpringApplication - Application run failed java.lang.IllegalArgumentException: No auto configuration classes found in META-INF/spring.factories. If you are using a custom packaging, make sure that file is correct.
    at org.springframework.util.Assert.notEmpty(Assert.java:464)
    at org.springframework.boot.autoconfigure.AutoConfigurationImportSelector.getCandidateConfigurations(AutoConfigurationImportSelector.java:173)     at org.springframework.boot.autoconfigure.AutoConfigurationImportSelector.getAutoConfigurationEntry(AutoConfigurationImportSelector.java:116)     at org.springframework.boot.autoconfigure.AutoConfigurationImportSelector$AutoConfigurationGroup.process(AutoConfigurationImportSelector.java:396)     at org.springframework.context.annotation.ConfigurationClassParser$DeferredImportSelectorGrouping.getImports(ConfigurationClassParser.java:875)     at org.springframework.context.annotation.ConfigurationClassParser$DeferredImportSelectorGroupingHandler.processGroupImports(ConfigurationClassParser.java:801)     at org.springframework.context.annotation.ConfigurationClassParser$DeferredImportSelectorHandler.process(ConfigurationClassParser.java:771)     at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:185)     at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:315)     at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:232)     at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:275)     at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:95)     at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:705)     at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:531)     at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:141)     at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:744)     at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:391)     at org.springframework.boot.SpringApplication.run(SpringApplication.java:312)     at org.streampipes.container.standalone.init.StandaloneModelSubmitter.init(StandaloneModelSubmitter.java:54)
    at gmbh.edi.hive_pipeline_elements.Init.main(Init.java:40)

Process finished with exit code 1

'''


Any help would be appreciated greatly!


Thanks in advance,

Best Regards,

Dominick


--


____________________________________________________________

*EDI GmbH**
*/Engineering Data Intelligence/
Hermann-Weick-Weg 3
76229 Karlsruhe (Grötzingen), Deutschland

Dominick Michael Madden
Software Engineer

Telefon:+49 721 79199 155

Email: [email protected] <mailto:[email protected]>
WWW: www.edi.gmbh <http://www.edi.gmbh/>
/accDigKlein/

/Die EDI GmbH wird vertreten durch die Geschäftsführer Dr.-Ing. Mohanad El-Haji und Dr.-Ing. Thomas Freudenmann. Sitz der Gesellschaft ist //Karlsruhe//, HRB 723936 (Registergericht AG Mannheim) /

Reply via email to