Hi, It seems your features XML contains start-level in a feature, right ?
Regards JB On 04/20/2017 04:40 PM, Koprowski, Mariusz wrote:
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
-- Jean-Baptiste Onofré [email protected] http://blog.nanthrax.net Talend - http://www.talend.com
