Skip to content

Need to specify <failOnChanges>false</failOnChanges> for biz.aQute.bnd:bnd-export-maven-plugin #96

Description

@katcaola

When running mvn -pl rest-app package per the Microservices tutorial, I get an error from the biz.aQute.bnd:bnd-export-maven-plugin maven plugin.

usr@host:~/sandbox/OSGi/microservice$ mvn -pl rest-app package
<...>
[ERROR] Error   : The runbundles have changed. Failing the build!
Was: null
Is: \
	ch.qos.logback.classic;version='[1.2.3,1.2.4)',\
	ch.qos.logback.core;version='[1.2.3,1.2.4)',\
	org.apache.aries.javax.jax.rs-api;version='[1.0.0,1.0.1)',\
	org.apache.aries.jax.rs.whiteboard;version='[1.0.1,1.0.2)',\
	org.apache.felix.configadmin;version='[1.9.8,1.9.9)',\
	org.apache.felix.http.jetty;version='[4.0.6,4.0.7)',\
	org.apache.felix.http.servlet-api;version='[1.1.2,1.1.3)',\
	org.apache.felix.scr;version='[2.1.10,2.1.11)',\
	org.apache.servicemix.specs.annotation-api-1.3;version='[1.3.0,1.3.1)',\
	org.apache.servicemix.specs.json-api-1.1;version='[2.9.0,2.9.1)',\
	org.osgi.enroute.examples.microservice.dao-api;version='[0.0.1,0.0.2)',\
	org.osgi.enroute.examples.microservice.dao-impl;version='[0.0.1,0.0.2)',\
	org.osgi.enroute.examples.microservice.rest-service;version='[0.0.1,0.0.2)',\
	org.osgi.service.jaxrs;version='[1.0.0,1.0.1)',\
	org.osgi.util.converter;version='[1.0.0,1.0.1)',\
	org.osgi.util.function;version='[1.1.0,1.1.1)',\
	org.osgi.util.promise;version='[1.1.0,1.1.1)',\
	slf4j.api;version='[1.7.25,1.7.26)',\
	tx-control-provider-jdbc-xa;version='[1.0.0,1.0.1)',\
	tx-control-service-xa;version='[1.0.0,1.0.1)'
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 3.970 s
[INFO] Finished at: 2019-01-18T13:44:07-05:00
[INFO] Final Memory: 25M/439M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal biz.aQute.bnd:bnd-export-maven-plugin:4.1.0:export 
        (default) on project rest-app: 1 errors found -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, 
        please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException

The biz.aQute.bnd:bnd-export-maven-plugin has a feature where any change in the resolved -runbundles discovered will fail the maven command. If failOnChanges is unspecified, it defaults to true and causes the error seen above.

I'm not sure where in the osgi.enroute project itself this would need to be fixed.


In the meantime, users can add the line

<failOnChanges>false</failOnChanges>

to their rest-app/pom.xml(and also rest-app-jpa/pom.xml) plugin section for biz.aQute.bnd:bnd-export-maven-plugin so it goes from

            <plugin>
                <groupId>biz.aQute.bnd</groupId>
                <artifactId>bnd-export-maven-plugin</artifactId>
                <configuration>
                    <bndruns>
                        <bndrun>rest-app.bndrun</bndrun>
                    </bndruns>
                </configuration>
            </plugin>

to include the new line

            <plugin>
                <groupId>biz.aQute.bnd</groupId>
                <artifactId>bnd-export-maven-plugin</artifactId>
                <configuration>
                    <failOnChanges>false</failOnChanges>
                    <bndruns>
                        <bndrun>rest-app.bndrun</bndrun>
                    </bndruns>
                </configuration>
            </plugin>

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions