[forge-issues] [JBoss JIRA] (FORGE-427) Facet cannot find @RequiresFacet in another resource JAR

Ivan St. Ivanov (JIRA) jira-events at lists.jboss.org
Wed Aug 22 11:40:15 EDT 2012


     [ https://issues.jboss.org/browse/FORGE-427?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Ivan St. Ivanov updated FORGE-427:
----------------------------------

    Affects Version/s: 1.0.7.Final
                           (was: 1.0.0.Beta4)
          Component/s: Forge Build

    
> Facet cannot find @RequiresFacet in another resource JAR
> --------------------------------------------------------
>
>                 Key: FORGE-427
>                 URL: https://issues.jboss.org/browse/FORGE-427
>             Project: Forge
>          Issue Type: Bug
>          Components: Forge Build, Plugin API
>    Affects Versions: 1.0.7.Final
>            Reporter: Tom Cunningham
>         Attachments: plugins.tar.gz
>
>
> We've put a number of different plugins inside a common module, and SwitchYardFacet  is in switchyard.forge-plugin-0.4.0-SNAPSHOT.jar.      Can a facet in one of my other plugin JARs refer to that one?     Do I need to go back to shading?
> Example - this Facet is in switchyard-camel-plugin-0.4.0-SNAPSHOT.jar but refers to  SwitchYardFacet which is in another resource-root :   switchyard-forge-plugin-0.4.0-SNAPSHOT.jar.
> {code}import org.switchyard.tools.forge.plugin.SwitchYardFacet;
> /**
>   * Forge facet for Camel bindings and services.
>   */
> @Alias("switchyard.camel")
> @RequiresFacet({ DependencyFacet.class, PackagingFacet.class, 
> SwitchYardFacet.class })
> @RequiresPackagingType(PackagingType.JAR)
> public class CamelFacet extends AbstractFacet {
> ...
> }{code}
> module.xml :
> {code}<?xml version="1.0" encoding="UTF-8" standalone="no"?>
> <module xmlns="urn:jboss:module:1.0" 
> name="org.switchyard.switchyard-forge-plugin" slot="0.4.0-SNAPSHOT">
> <resources>
> <!-- plugin dependencies that must be local to this module -->
> <resource-root path="switchyard-forge-common-0.4.0-SNAPSHOT.jar"/>
> <resource-root path="switchyard-component-common-rules-0.4.0-SNAPSHOT.jar"/>
> <!-- core and component plugins -->
> <resource-root path="switchyard-forge-plugin-0.4.0-SNAPSHOT.jar"/>
> <resource-root path="switchyard-forge-bean-plugin-0.4.0-SNAPSHOT.jar"/>
> <resource-root path="switchyard-forge-soap-plugin-0.4.0-SNAPSHOT.jar"/>
> <resource-root path="switchyard-forge-rules-plugin-0.4.0-SNAPSHOT.jar"/>
> <resource-root path="switchyard-forge-bpm-plugin-0.4.0-SNAPSHOT.jar"/>
> <resource-root path="switchyard-forge-camel-plugin-0.4.0-SNAPSHOT.jar"/>
> </resources>
> {code}
> Error - the missing Type seems to be SwitchYardFacet :
> {code}tcunning at localhost:tmp]$ forge
> Listening for transport dt_socket at address: 8787
> Plugin system disabled due to failure while loading one or more plugins; 
> try removing offending plugins with "forge remove-plugin <TAB>".
> com.google.common.collect.ComputationException: 
> java.lang.ArrayStoreException: 
> sun.reflect.annotation.TypeNotPresentExceptionProxy
>      at 
> com.google.common.collect.ComputingConcurrentHashMap.compute(ComputingConcurrentHashMap.java:218)
>      at 
> com.google.common.collect.ComputingConcurrentHashMap.apply(ComputingConcurrentHashMap.java:100)
>      at 
> com.google.common.collect.MapMaker$ComputingMapAdapter.get(MapMaker.java:515)
>      at 
> org.jboss.weld.resources.ClassTransformer.loadClass(ClassTransformer.java:183)
>      at org.jboss.weld.bootstrap.BeanDeployer.addClass(BeanDeployer.java:95)
>      at 
> org.jboss.weld.bootstrap.BeanDeployer.addClasses(BeanDeployer.java:134)
>      at 
> org.jboss.weld.bootstrap.BeanDeployment.createBeans(BeanDeployment.java:191)
>      at 
> org.jboss.weld.bootstrap.WeldBootstrap.deployBeans(WeldBootstrap.java:368)
>      at org.jboss.weld.environment.se.Weld.initialize(Weld.java:92)
>      at org.jboss.forge.shell.Bootstrap$1.run(Bootstrap.java:87)
>      at java.lang.Thread.run(Thread.java:662)
> Caused by: java.lang.ArrayStoreException: 
> sun.reflect.annotation.TypeNotPresentExceptionProxy
>      at 
> sun.reflect.annotation.AnnotationParser.parseClassArray(AnnotationParser.java:653)
>      at 
> sun.reflect.annotation.AnnotationParser.parseArray(AnnotationParser.java:460)
>      at 
> sun.reflect.annotation.AnnotationParser.parseMemberValue(AnnotationParser.java:286)
>      at 
> sun.reflect.annotation.AnnotationParser.parseAnnotation(AnnotationParser.java:222)
>      at 
> sun.reflect.annotation.AnnotationParser.parseAnnotations2(AnnotationParser.java:69)
>      at 
> sun.reflect.annotation.AnnotationParser.parseAnnotations(AnnotationParser.java:52)
>      at java.lang.Class.initAnnotationsIfNecessary(Class.java:3070)
>      at java.lang.Class.getAnnotations(Class.java:3050)
>      at 
> org.jboss.weld.introspector.jlr.WeldClassImpl.of(WeldClassImpl.java:98)
>      at 
> org.jboss.weld.resources.ClassTransformer$TransformTypeToWeldClass.apply(ClassTransformer.java:54)
>      at 
> org.jboss.weld.resources.ClassTransformer$TransformTypeToWeldClass.apply(ClassTransformer.java:42)
>      at 
> com.google.common.collect.ComputingConcurrentHashMap.compute(ComputingConcurrentHashMap.java:206)
>      ... 10 more{code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the forge-issues mailing list