Hi, 
Well I do... but for test I have remove them.

But the problem is not my features it's a problem with original Apache ActiveMQ 
Karaf that is imported by karaf plugin.
.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'

Best regards
--
Mariusz Koprowski
Enterprise Solutions Engineering Lead
T: +48 42 253 48 28
E: [email protected] 
Hexagon Mining
Wolczanska 128/134
90-441, Lodz, Poland
www.hexagonmining.com | WebEx | Skype

-----Wiadomość oryginalna-----
Od: Jean-Baptiste Onofré [mailto:[email protected]] 
Wysłano: Thursday, April 20, 2017 4:51 PM
Do: [email protected]
Temat: Re: [Error] Karaf 4.0.8 Building feature with karaf-maven-plugin

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-repo
> sitory (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-repo
> sitory (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

Reply via email to