karaf-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Koprowski, Mariusz" <Mariusz.Koprow...@Hexagonmining.com>
Subject [Error] Karaf 4.0.8 Building feature with karaf-maven-plugin
Date Thu, 20 Apr 2017 14:40:26 GMT
Hi
I'm trying to build my own feature that will combine ActiveMQ + some of my bundles but I'm
stuck on generating a plugin that have pure ActiveMQ only
Here is my POM:
<?xml version="1.0" encoding="UTF-8"?>
<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">
    <parent>
        <artifactId>features</artifactId>
        <groupId>com.my.esb</groupId>
        <version>1.0.0-SNAPSHOT</version>
    </parent>

    <!--
        Licensed to the Apache Software Foundation (ASF) under one or more
        contributor license agreements.  See the NOTICE file distributed with
        this work for additional information regarding copyright ownership.
        The ASF licenses this file to You under the Apache License, Version 2.0
        (the "License"); you may not use this file except in compliance with
        the License.  You may obtain a copy of the License at

            http://www.apache.org/licenses/LICENSE-2.0

        Unless required by applicable law or agreed to in writing, software
        distributed under the License is distributed on an "AS IS" BASIS,
        WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
        See the License for the specific language governing permissions and
        limitations under the License.
    -->

    <modelVersion>4.0.0</modelVersion>

    <groupId>com.my.esb.features</groupId>
    <artifactId>my-esb-amq</artifactId>
    <packaging>feature</packaging>

    <name>My ESB :: Feature :: AMQ</name>
    <description>Prepackaged AMQ Karaf feature, with no additional dependencies required.</description>

    <dependencies>
        <dependency>
            <groupId>org.apache.activemq</groupId>
            <artifactId>activemq-karaf</artifactId>
            <type>xml</type>
            <classifier>features</classifier>
        </dependency>
    </dependencies>

    <build>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.apache.karaf.tooling</groupId>
                    <artifactId>karaf-maven-plugin</artifactId>
                    <version>4.0.8</version>
                    <extensions>true</extensions>
                </plugin>
            </plugins>
        </pluginManagement>
        <plugins>
            <plugin>
                <groupId>org.apache.karaf.tooling</groupId>
                <artifactId>karaf-maven-plugin</artifactId>
                <version>${karaf.version}</version>
                <configuration>
                    <startLevel>50</startLevel>
                    <resolver>(orb)</resolver>
                    <aggregateFeatures>true</aggregateFeatures>
                    <checkDependencyChange>true</checkDependencyChange>
                    <failOnDependencyChange>false</failOnDependencyChange>
                    <logDependencyChanges>true</logDependencyChanges>
                    <overwriteChangedDependencies>true</overwriteChangedDependencies>
                </configuration>
                <executions>
                    <execution>
                        <id>features-add-to-repo</id>
                        <phase>generate-resources</phase>
                        <goals>
                            <goal>features-add-to-repository</goal>
                        </goals>
                        <configuration>
                            <descriptors>
                                <descriptor>mvn:org.apache.karaf.features/standard/${karaf.version}/xml/features</descriptor>
                               
                                <descriptor>mvn:org.apache.activemq/activemq-karaf/${activemq.version}/xml/features</descriptor>
                                <descriptor>mvn:org.apache.activemq/activemq-karaf/${activemq.version}/xml/features-core</descriptor>
                                <descriptor>mvn:${project.groupId}/${project.artifactId}/${project.version}/xml/features</descriptor>
                            </descriptors>
                            <features>
                                <feature>activemq</feature>
                                <feature>activemq-cf</feature>
                                <feature>activemq-client</feature>
                                <feature>activemq-broker-noweb</feature>
                                <feature>ctivemq-camel</feature>
                                <feature>activemq-web-consol</feature>
                                <feature>activemq-blueprint</feature>
                                <feature>activemq-amqp-client</feature>
                                <feature>${project.artifactId}</feature>
                                <feature>${project.artifactId}-webconsole</feature>
                                <feature>${project.artifactId}-amqp</feature>
                            </features>
                            <repository>target</repository>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

</project>

And here is a feature.xml
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<features xmlns="http://karaf.apache.org/xmlns/features/v1.3.0" name="${project.artifactId}">
    <repository>mvn:org.apache.activemq/activemq-karaf/${activemq.version}/xml/features-core</repository>
    <repository>mvn:org.apache.activemq/activemq-karaf/${activemq.version}/xml/features</repository>
    <!-- Apache ActiveMQ Features -->
    <feature name="activemq-broker-noweb" description="Full ActiveMQ broker with default
configuration" start-level="50" hidden="true" version="${activemq.version}">
        <configfile finalname="/etc/activemq.xml">mvn:org.apache.activemq/activemq-karaf/${activemq.version}/xml/activemq</configfile>
        <configfile finalname="/etc/org.apache.activemq.server-default.cfg">mvn:org.apache.activemq/activemq-karaf/${activemq.version}/cfg/activemq</configfile>
        <feature version="${activemq.version}" prerequisite="false" dependency="true">activemq</feature>
    </feature>
    <feature name="activemq-camel" start-level="50" version="${activemq.version}" hidden="true">
        <feature version="${activemq.version}" prerequisite="false" dependency="true">activemq-client</feature>
        <feature version="[2.16,3)" prerequisite="false" dependency="true">camel-jms</feature>
        <feature version="[2.16,3)" prerequisite="false" dependency="true">camel</feature>
        <bundle>mvn:org.apache.activemq/activemq-camel/${activemq.version}</bundle>
    </feature>
    <feature name="activemq-web-console" start-level="50" hidden="true" version="${activemq.version}">
        <configfile finalname="/etc/org.apache.activemq.webconsole.cfg">mvn:org.apache.activemq/activemq-karaf/${activemq.version}/cfg/activemq-webconsole</configfile>
        <feature prerequisite="false" dependency="true">war</feature>
        <feature prerequisite="false" dependency="true">eventadmin</feature>
        <bundle>mvn:org.apache.activemq/activemq-web-console/${activemq.version}/war</bundle>
    </feature>
    <feature name="activemq-blueprint" start-level="50" hidden="true" version="${activemq.version}">
        <feature version="${activemq.version}" prerequisite="false" dependency="true">activemq</feature>
        <bundle dependency="true">mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.scripting-api-1.0/2.4.0</bundle>
        <bundle dependency="true">mvn:org.apache.commons/commons-jexl/2.0.1</bundle>
        <bundle dependency="true">mvn:org.apache.xbean/xbean-blueprint/4.2</bundle>
        <bundle>mvn:org.apache.activemq/activemq-blueprint/${activemq.version}</bundle>
    </feature>
    <feature name="activemq-amqp-client" description="ActiveMQ AMQP protocol client libraries"
hidden="true" version="${activemq.version}">
        <bundle>mvn:io.netty/netty-common/4.0.41.Final</bundle>
        <bundle>mvn:io.netty/netty-transport/4.0.41.Final</bundle>
        <bundle>mvn:io.netty/netty-buffer/4.0.41.Final</bundle>
        <bundle>mvn:io.netty/netty-codec/4.0.41.Final</bundle>
        <bundle>mvn:io.netty/netty-codec-http/4.0.41.Final</bundle>
        <bundle>mvn:io.netty/netty-handler/4.0.41.Final</bundle>
        <bundle>mvn:org.apache.qpid/proton-j/0.14.0</bundle>
        <bundle>mvn:org.apache.qpid/qpid-jms-client/0.11.1</bundle>
    </feature>
    <!-- My ESB Features -->
    <feature name="${project.artifactId}" description=" AMQ with MQTT" version="${project.version}">
        <details>Hexagon Mining prepackaged AMQ Karaf feature, with no additional dependencies
required.</details>
        <feature version="${activemq.version}" prerequisite="false" dependency="true">activemq-broker-noweb</feature>
        <feature version="${activemq.version}" prerequisite="false" dependency="true">activemq-camel</feature>
        <feature version="${activemq.version}" prerequisite="false" dependency="true">activemq-blueprint</feature>
    </feature>
    <feature name="${project.artifactId}-amqp" description=" AMQ AMQP Client" version="${project.version}">
        <details>Hexagon Mining prepackaged AMQ Karaf feature, with no additional dependencies
required.</details>
        <feature version="${project.version}" prerequisite="false" dependency="true">${project.artifactId}</feature>
        <feature version="${activemq.version}" prerequisite="false" dependency="true">activemq-amqp-client</feature>
    </feature>
    <feature name="${project.artifactId}-webconsole" description=" AMQ Standalone WebConsole"
version="${project.version}">
        <details>Hexagon Mining prepackaged AMQ Karaf feature, with no additional dependencies
required.</details>
        <feature version="${project.version}" prerequisite="false" dependency="true">${project.artifactId}</feature>
        <feature version="${activemq.version}" prerequisite="false" dependency="true">activemq-web-console</feature>
    </feature>

</features>


When I'm trying to run Karaf: features-add-to-repository
I'm getting fallowing error:
[ERROR] Failed to execute goal org.apache.karaf.tooling:karaf-maven-plugin:4.0.8:features-add-to-repository
(default-cli) on project my-esb-amq -amq: Error populating repository: NullPointerException
-> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.karaf.tooling:karaf-maven-plugin:4.0.8:features-add-to-repository
(default-cli) on project my-esb-amq -amq: Error populating repository
	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:212)
	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
	at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
	at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
	at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
	at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
	at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307)
	at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193)
	at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106)
	at org.apache.maven.cli.MavenCli.execute(MavenCli.java:863)
	at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288)
	at org.apache.maven.cli.MavenCli.main(MavenCli.java:199)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
	at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
	at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
	at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
	at org.codehaus.classworlds.Launcher.main(Launcher.java:47)
Caused by: org.apache.maven.plugin.MojoExecutionException: Error populating repository
	at org.apache.karaf.tooling.features.AbstractFeatureMojo.resolveFeatures(AbstractFeatureMojo.java:267)
	at org.apache.karaf.tooling.features.AddToRepositoryMojo.execute(AddToRepositoryMojo.java:58)
	at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134)
	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:207)
	... 21 more
Caused by: java.lang.NullPointerException
	at org.apache.karaf.tooling.features.AbstractFeatureMojo.resolveFeatures(AbstractFeatureMojo.java:235)
	... 24 more
[ERROR] 
[ERROR]

When I'm trying to run mvn install I get fallowing error:
ERROR] Failed to execute goal org.apache.karaf.tooling:karaf-maven-plugin:4.0.8:features-add-to-repository
(features-add-to-repo) on project my-esb-amq: Error populating repository: Unable to validate
file:///C:/Users/mkoprows/.m2/repository/org/apache/activemq/activemq-karaf/5.14.3/activemq-karaf-5.14.3-features.xml:
cvc-complex-type.3.2.2: Attribute 'start-level' is not allowed to appear in element 'feature'.
-> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.karaf.tooling:karaf-maven-plugin:4.0.8:features-add-to-repository
(features-add-to-repo) on project my-esb-amq: Error populating repository
	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:212)
	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
	at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
	at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
	at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
	at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
	at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307)
	at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193)
	at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106)
	at org.apache.maven.cli.MavenCli.execute(MavenCli.java:863)
	at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288)
	at org.apache.maven.cli.MavenCli.main(MavenCli.java:199)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
	at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
	at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
	at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
	at org.codehaus.classworlds.Launcher.main(Launcher.java:47)
Caused by: org.apache.maven.plugin.MojoExecutionException: Error populating repository
	at org.apache.karaf.tooling.features.AbstractFeatureMojo.resolveFeatures(AbstractFeatureMojo.java:267)
	at org.apache.karaf.tooling.features.AddToRepositoryMojo.execute(AddToRepositoryMojo.java:58)
	at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134)
	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:207)
	... 21 more
Caused by: java.lang.IllegalArgumentException: Unable to validate file:///C:/Users/mkoprows/.m2/repository/org/apache/activemq/activemq-karaf/5.14.3/activemq-karaf-5.14.3-features.xml
	at org.apache.karaf.features.internal.model.JaxbUtil.unmarshalValidate(JaxbUtil.java:127)
	at org.apache.karaf.features.internal.model.JaxbUtil.unmarshal(JaxbUtil.java:101)
	at org.apache.karaf.features.internal.model.JaxbUtil.unmarshal(JaxbUtil.java:95)
	at org.apache.karaf.tooling.features.AbstractFeatureMojo.retrieveDescriptorsRecursively(AbstractFeatureMojo.java:125)
	at org.apache.karaf.tooling.features.AbstractFeatureMojo.resolveFeatures(AbstractFeatureMojo.java:236)
	... 24 more
Caused by: org.xml.sax.SAXParseException; cvc-complex-type.3.2.2: Attribute 'start-level'
is not allowed to appear in element 'feature'.
	at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:203)
	at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(ErrorHandlerWrapper.java:134)
	at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:396)
	at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:327)
	at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:284)
	at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator$XSIErrorReporter.reportError(XMLSchemaValidator.java:452)
	at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.reportSchemaError(XMLSchemaValidator.java:3230)
	at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.processAttributes(XMLSchemaValidator.java:2707)
	at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.handleStartElement(XMLSchemaValidator.java:2050)
	at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.startElement(XMLSchemaValidator.java:740)
	at com.sun.org.apache.xerces.internal.jaxp.validation.DOMValidatorHelper.beginNode(DOMValidatorHelper.java:277)
	at com.sun.org.apache.xerces.internal.jaxp.validation.DOMValidatorHelper.validate(DOMValidatorHelper.java:244)
	at com.sun.org.apache.xerces.internal.jaxp.validation.DOMValidatorHelper.validate(DOMValidatorHelper.java:190)
	at com.sun.org.apache.xerces.internal.jaxp.validation.ValidatorImpl.validate(ValidatorImpl.java:109)
	at javax.xml.validation.Validator.validate(Validator.java:124)
	at org.apache.karaf.features.internal.model.JaxbUtil.unmarshalValidate(JaxbUtil.java:125)
	... 28 more
[ERROR] 
[ERROR]

I'm using Java 1.8.0 and tested the results on Maven 3.0.0 and 3.5.0

Best regards
--
Mariusz Koprowski


Mime
View raw message