Ahhh, yes. I know why this is happening. We need to register a custom BeanManagerProvider with the ServiceProvider API. I'll take a look at this as soon as possible. But it might be a few days since I am getting ready for a conference.

If you wanted to try to do this yourself, in a @Singleton or @ApplicationScoped bean, we can implement the BeanManagerLocator interface and register it. In order to obtain an instance of the BeanManager, we'd need a class like this:

It would have to be registered by creating a service file. This file needs to contain the fully qualified class name of the provider, for instance:

-------------------------------------------------
src/main/resources/META-INF/services/org.jboss.seam.solder.beanManager.BeanManagerProvider
org.jboss.seam.forge.shell.ObserverBeanManagerLocator

-------------------------------------------------
public class ObserverBeanManagerLocator implements BeanManagerProvider
{
  private BeanManager manager;

  public void onStartup(@Observes Startup event, BeanManager manager)
  {
     this.manager = manager;
  }

  public BeanManager getBeanManager()
  {
     return manager;
  }

}
-------------------------------------------------

On Thu, Jun 16, 2011 at 7:27 PM, Ronald van Kuijk <rvkuijk@gmail.com> wrote:
I'm making nice progress with extending the scaffolding of webpages from entities. To keep the different pages for different JSF component frameworks as short as possible I'm thinking of working with mvel/seam-render @include templates.

Just adding a small line like

@include{'rf-colum.mv'}

results in the error below when starting seam-forge

It does not even make a difference whether the file even exists or not. I'm not sure if this is a seam-render issue or a seam-forge issue, So therefor I post the question here. I have debugged the code and have seen that the *BeanManagerProviders do indeed not give back a BeanManager.

Any clues?

Cheers,

Ronald

[ERROR] Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.1.1:java (default-cli) on project forge-distribution: An exception occured while executing the Java class. [Error: Failed to locate BeanManager using any of these providers: org.jboss.seam.solder.beanManager.DefaultJndiBeanManagerProvider(11), org.jboss.seam.solder.beanManager.ServletContainerJndiBeanManagerProvider(10)]
[ERROR] [Near : {... @include{'pf.mv'} ....}]
[ERROR] ^
[ERROR] [Line: 11, Column: 0]
[ERROR] -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.1.1:java (default-cli) on project forge-distribution: An exception occured while executing the Java class. [Error: Failed to locate BeanManager using any of these providers: org.jboss.seam.solder.beanManager.DefaultJndiBeanManagerProvider(11), org.jboss.seam.solder.beanManager.ServletContainerJndiBeanManagerProvider(10)]
[Near : {... @include{'pf.mv'} ....}]
                    ^
[Line: 11, Column: 0]
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:217)
    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:84)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:319)
    at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
    at org.apache.maven.cli.MavenCli.execute(MavenCli.java:534)
    at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196)
    at org.apache.maven.cli.MavenCli.main(MavenCli.java:141)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:616)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)
Caused by: org.apache.maven.plugin.MojoExecutionException: An exception occured while executing the Java class. [Error: Failed to locate BeanManager using any of these providers: org.jboss.seam.solder.beanManager.DefaultJndiBeanManagerProvider(11), org.jboss.seam.solder.beanManager.ServletContainerJndiBeanManagerProvider(10)]
[Near : {... @include{'pf.mv'} ....}]
                    ^
[Line: 11, Column: 0]
    at org.codehaus.mojo.exec.ExecJavaMojo.execute(ExecJavaMojo.java:338)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:107)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
    ... 19 more
Caused by: [Error: Failed to locate BeanManager using any of these providers: org.jboss.seam.solder.beanManager.DefaultJndiBeanManagerProvider(11), org.jboss.seam.solder.beanManager.ServletContainerJndiBeanManagerProvider(10)]
[Near : {... @include{'pf.mv'} ....}]
                    ^
[Line: 11, Column: 0]
    at org.jboss.seam.render.template.compiler.CustomTemplateCompiler.compileFrom(CustomTemplateCompiler.java:295)
    at org.jboss.seam.render.template.compiler.CustomTemplateCompiler.compile(CustomTemplateCompiler.java:88)
    at org.jboss.seam.render.template.compiler.CustomTemplateCompiler.compileTemplate(CustomTemplateCompiler.java:493)
    at org.jboss.seam.render.template.CompiledTemplateResource.<init>(CompiledTemplateResource.java:99)
    at org.jboss.seam.render.TemplateCompiler.compile(TemplateCompiler.java:140)
    at org.jboss.seam.render.TemplateCompiler.compile(TemplateCompiler.java:129)
    at org.jboss.seam.render.TemplateCompiler.compile(TemplateCompiler.java:107)
    at org.metawidget.forge.MetawidgetScaffold.<init>(MetawidgetScaffold.java:122)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:532)
    at org.jboss.weld.introspector.jlr.WeldConstructorImpl.newInstance(WeldConstructorImpl.java:239)
    at org.jboss.weld.injection.ConstructorInjectionPoint.newInstance(ConstructorInjectionPoint.java:134)
    at org.jboss.weld.bean.ManagedBean.createInstance(ManagedBean.java:385)
    at org.jboss.weld.bean.ManagedBean$ManagedBeanInjectionTarget.produce(ManagedBean.java:234)
    at org.jboss.weld.bean.ManagedBean.create(ManagedBean.java:338)
    at org.jboss.weld.context.unbound.DependentContextImpl.get(DependentContextImpl.java:67)
    at org.jboss.weld.manager.BeanManagerImpl.getReference(BeanManagerImpl.java:690)
    at org.jboss.weld.manager.BeanManagerImpl.getReference(BeanManagerImpl.java:728)
    at org.jboss.weld.bean.builtin.InstanceImpl.iterator(InstanceImpl.java:147)
    at org.jboss.forge.project.services.FacetFactory.getFacets(FacetFactory.java:59)
    at org.jboss.forge.project.services.ProjectFactory.registerFacets(ProjectFactory.java:184)
    at org.jboss.forge.project.services.ProjectFactory.findProjectRecursively(ProjectFactory.java:129)
    at org.jboss.forge.shell.project.ProjectInitializer.doInit(ProjectInitializer.java:87)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:616)
    at org.jboss.weld.util.reflection.SecureReflections$13.work(SecureReflections.java:305)
    at org.jboss.weld.util.reflection.SecureReflectionAccess.run(SecureReflectionAccess.java:54)
    at org.jboss.weld.util.reflection.SecureReflectionAccess.runAsInvocation(SecureReflectionAccess.java:163)
    at org.jboss.weld.util.reflection.SecureReflections.invoke(SecureReflections.java:299)
    at org.jboss.weld.introspector.jlr.WeldMethodImpl.invokeOnInstance(WeldMethodImpl.java:188)
    at org.jboss.weld.introspector.ForwardingWeldMethod.invokeOnInstance(ForwardingWeldMethod.java:59)
    at org.jboss.weld.injection.MethodInjectionPoint.invokeOnInstanceWithSpecialValue(MethodInjectionPoint.java:198)
    at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:270)
    at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:253)
    at org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:222)
    at org.jboss.weld.manager.BeanManagerImpl.notifyObservers(BeanManagerImpl.java:632)
    at org.jboss.weld.manager.BeanManagerImpl.fireEvent(BeanManagerImpl.java:625)
    at org.jboss.weld.event.EventImpl.fire(EventImpl.java:75)
    at org.jboss.forge.shell.project.CurrentProject.setCurrentResource(CurrentProject.java:91)
    at org.jboss.forge.shell.ShellImpl.init(ShellImpl.java:317)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:616)
    at org.jboss.weld.bean.proxy.AbstractBeanInstance.invoke(AbstractBeanInstance.java:48)
    at org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:125)
    at org.jboss.forge.shell.org$jboss$weld$bean-classpath-ManagedBean-org$jboss$forge$shell$ShellImpl[@javax$enterprise$context$ApplicationScoped()]{org$jboss$forge$shell$ShellImpl$commandHolder[@javax$inject$Inject()]$org$jboss$forge$shell$ShellImpl$environment[@javax$inject$Inject()]$org$jboss$forge$shell$ShellImpl$fshRuntime[@javax$inject$Inject()]$org$jboss$forge$shell$ShellImpl$manager[@javax$inject$Inject()]$org$jboss$forge$shell$ShellImpl$parameters[@javax$inject$Inject()@org$jboss$weld$environment$se$bindings$Parameters()]$org$jboss$forge$shell$ShellImpl$postStartup[@javax$inject$Inject()]$org$jboss$forge$shell$ShellImpl$projectContext[@javax$inject$Inject()]$org$jboss$forge$shell$ShellImpl$promptTypeConverter[@javax$inject$Inject()]$org$jboss$forge$shell$ShellImpl$resourceFactory[@javax$inject$Inject()]$org$jboss$forge$shell$ShellImpl$shellConfig[@javax$inject$Inject()]$org$jboss$forge$shell$ShellImpl$shutdown[@javax$inject$Inject()]$org$jboss$forge$shell$ShellImpl$doShell(org$jboss$forge$shell$events$AcceptUserInput[@javax$enterprise$event$Observes(during=IN_PROGRESS,notifyObserver=ALWAYS)])$org$jboss$forge$shell$ShellImpl$init(org$jboss$forge$shell$events$Startup[@javax$enterprise$event$Observes(during=IN_PROGRESS,notifyObserver=ALWAYS)],org$jboss$forge$shell$completer$PluginCommandCompleter)$org$jboss$forge$shell$ShellImpl$teardown(org$jboss$forge$shell$events$Shutdown[@javax$enterprise$event$Observes(during=IN_PROGRESS,notifyObserver=ALWAYS)],javax$enterprise$event$Event<org$jboss$forge$shell$events$PreShutdown>)$}_$$_WeldClientProxy.init(org$jboss$weld$bean-classpath-ManagedBean-org$jboss$forge$shell$ShellImpl[@javax$enterprise$context$ApplicationScoped()]{org$jboss$forge$shell$ShellImpl$commandHolder[@javax$inject$Inject()]$org$jboss$forge$shell$ShellImpl$environment[@javax$inject$Inject()]$org$jboss$forge$shell$ShellImpl$fshRuntime[@javax$inject$Inject()]$org$jboss$forge$shell$ShellImpl$manager[@javax$inject$Inject()]$org$jboss$forge$shell$ShellImpl$parameters[@javax$inject$Inject()@org$jboss$weld$environment$se$bindings$Parameters()]$org$jboss$forge$shell$ShellImpl$postStartup[@javax$inject$Inject()]$org$jboss$forge$shell$ShellImpl$projectContext[@javax$inject$Inject()]$org$jboss$forge$shell$ShellImpl$promptTypeConverter[@javax$inject$Inject()]$org$jboss$forge$shell$ShellImpl$resourceFactory[@javax$inject$Inject()]$org$jboss$forge$shell$ShellImpl$shellConfig[@javax$inject$Inject()]$org$jboss$forge$shell$ShellImpl$shutdown[@javax$inject$Inject()]$org$jboss$forge$shell$ShellImpl$doShell(org$jboss$forge$shell$events$AcceptUserInput[@javax$enterprise$event$Observes(during=IN_PROGRESS,notifyObserver=ALWAYS)])$org$jboss$forge$shell$ShellImpl$init(org$jboss$forge$shell$events$Startup[@javax$enterprise$event$Observes(during=IN_PROGRESS,notifyObserver=ALWAYS)],org$jboss$forge$shell$completer$PluginCommandCompleter)$org$jboss$forge$shell$ShellImpl$teardown(org$jboss$forge$shell$events$Shutdown[@javax$enterprise$event$Observes(during=IN_PROGRESS,notifyObserver=ALWAYS)],javax$enterprise$event$Event<org$jboss$forge$shell$events$PreShutdown>)$}_$$_WeldClientProxy.java)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:616)
    at org.jboss.weld.util.reflection.SecureReflections$13.work(SecureReflections.java:305)
    at org.jboss.weld.util.reflection.SecureReflectionAccess.run(SecureReflectionAccess.java:54)
    at org.jboss.weld.util.reflection.SecureReflectionAccess.runAsInvocation(SecureReflectionAccess.java:163)
    at org.jboss.weld.util.reflection.SecureReflections.invoke(SecureReflections.java:299)
    at org.jboss.weld.introspector.jlr.WeldMethodImpl.invokeOnInstance(WeldMethodImpl.java:188)
    at org.jboss.weld.introspector.ForwardingWeldMethod.invokeOnInstance(ForwardingWeldMethod.java:59)
    at org.jboss.weld.injection.MethodInjectionPoint.invokeOnInstanceWithSpecialValue(MethodInjectionPoint.java:198)
    at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:270)
    at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:253)
    at org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:222)
    at org.jboss.weld.manager.BeanManagerImpl.notifyObservers(BeanManagerImpl.java:632)
    at org.jboss.weld.manager.BeanManagerImpl.fireEvent(BeanManagerImpl.java:619)
    at org.jboss.weld.manager.BeanManagerImpl.fireEvent(BeanManagerImpl.java:613)
    at org.jboss.forge.shell.Bootstrap$2.run(Bootstrap.java:92)
    at java.lang.Thread.run(Thread.java:636)
Caused by: org.jboss.seam.solder.beanManager.BeanManagerUnavailableException: Failed to locate BeanManager using any of these providers: org.jboss.seam.solder.beanManager.DefaultJndiBeanManagerProvider(11), org.jboss.seam.solder.beanManager.ServletContainerJndiBeanManagerProvider(10)
    at org.jboss.seam.solder.beanManager.BeanManagerLocator.getBeanManager(BeanManagerLocator.java:91)
    at org.jboss.seam.render.template.nodes.ContextualNode.init(ContextualNode.java:58)
    at org.jboss.seam.render.template.nodes.ContextualNode.<init>(ContextualNode.java:40)
    at org.jboss.seam.render.template.nodes.IncludeNode.<init>(IncludeNode.java:35)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:532)
    at java.lang.Class.newInstance0(Class.java:372)
    at java.lang.Class.newInstance(Class.java:325)
    at org.jboss.seam.render.template.compiler.CustomTemplateCompiler.compileFrom(CustomTemplateCompiler.java:257)
    ... 69 more


_______________________________________________
forge-dev mailing list
forge-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/forge-dev




--
Lincoln Baxter, III
http://ocpsoft.com
http://scrumshark.com
"Keep it Simple"