Hi Robert,

you need to provide your Scenario with ClassLoader via the constructor.

This is used by Maven to instantiate the Scenario with the URLClassLoader built from the classpath content.

You can then provide a default constructor that uses the thread context classloader for use in IDE.

Cheers

Robert Hanson wrote:
I am trying out JBehave, but I am unable to get anything running using
Maven.  I did a bit of research (web, jira, source) but can't find the
issue.

Below is the mvn -e output, and the Java sources.  Any help would be
appreciated.

Env: Win XP, Eclipse, Cygwin (and cmd).


================== Java Sources ==================

package com.qualitytech.selftest.scenarios;

import org.jbehave.scenario.Scenario;

public class SelfTestPasses extends Scenario
{
    public SelfTestPasses ()
    {
        super(new SelfTestSteps());
    }
}



package com.qualitytech.selftest.scenarios;

import org.jbehave.scenario.steps.Steps;

public class SelfTestSteps extends Steps
{
}

================== Maven Output ==================

[INFO] [jbehave:run-scenarios {execution: run-scenarios-found}]
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Failed to instantiate scenario 'com.qualitytech.selftest.scenarios.SelfTe
stPasses'

Embedded error: The scenario 'com.qualitytech.selftest.scenarios.SelfTestPasses'
 could not be instantiated with class loader: [org.jbehave.scenario.ScenarioClas
sLoader urls=[/C:/Documents and Settings/robert.hanson/My Documents/workbench/qt
s-util/target/test-classes/, /C:/Documents and Settings/robert.hanson/My Documen
ts/workbench/qts-util/target/classes/, aspectjrt-1.6.1.jar, hibernate-3.2.6.ga.j
ar, ehcache-1.5.0.jar, commons-logging-1.1.1.jar, commons-collections-2.1.1.jar,
 jta-1.0.1B.jar, asm-attrs-1.5.3.jar, dom4j-1.6.1.jar, antlr-2.7.6.jar, cglib-2.
1_3.jar, asm-1.5.3.jar, joda-time-1.5.jar, xstream-1.3.1.jar, xpp3_min-1.1.4c.ja
r, spring-web-2.5.6.jar, spring-beans-2.5.6.jar, spring-core-2.5.6.jar, spring-c
ontext-2.5.6.jar, aopalliance-1.0.jar, spring-security-core-2.0.4.jar, spring-ao
p-2.0.8.jar, spring-support-2.0.8.jar, commons-codec-1.3.jar, backport-util-conc
urrent-3.1.jar, jsr107cache-1.0.jar, commons-lang-2.4.jar, servlet-api-2.5.jar,
jsp-api-2.0.jar, jdom-1.1.jar, junit-4.5.jar, jbehave-core-2.2.jar, junit-dep-4.
4.jar, hamcrest-all-1.1.jar, spring-test-2.5.6.jar]]
com.qualitytech.selftest.scenarios.SelfTestPasses.<init>(java.lang.ClassLoader)
[INFO] ------------------------------------------------------------------------
[INFO] Trace
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to instantiate sc
enario 'com.qualitytech.selftest.scenarios.SelfTestPasses'
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(Defa
ultLifecycleExecutor.java:703)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLi
fecycle(DefaultLifecycleExecutor.java:540)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(Defau
ltLifecycleExecutor.java:519)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHan
dleFailures(DefaultLifecycleExecutor.java:371)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegmen
ts(DefaultLifecycleExecutor.java:332)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLi
fecycleExecutor.java:181)
        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:356)
        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:137)
        at org.apache.maven.cli.MavenCli.main(MavenCli.java:356)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
        at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
        at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)

        at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
Caused by: org.apache.maven.plugin.MojoExecutionException: Failed to instantiate
 scenario 'com.qualitytech.selftest.scenarios.SelfTestPasses'
        at org.jbehave.mojo.AbstractScenarioMojo.scenarios(AbstractScenarioMojo.
java:160)
        at org.jbehave.mojo.ScenarioRunnerMojo.execute(ScenarioRunnerMojo.java:3
4)
        at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPlugi
nManager.java:483)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(Defa
ultLifecycleExecutor.java:678)
        ... 16 more
Caused by: java.lang.RuntimeException: The scenario 'com.qualitytech.selftest.sc
enarios.SelfTestPasses' could not be instantiated with class loader: [org.jbehav
e.scenario.ScenarioClassLoader urls=[/C:/Documents and Settings/robert.hanson/My
 Documents/workbench/qts-util/target/test-classes/, /C:/Documents and Settings/r
obert.hanson/My Documents/workbench/qts-util/target/classes/, aspectjrt-1.6.1.ja
r, hibernate-3.2.6.ga.jar, ehcache-1.5.0.jar, commons-logging-1.1.1.jar, commons
-collections-2.1.1.jar, jta-1.0.1B.jar, asm-attrs-1.5.3.jar, dom4j-1.6.1.jar, an
tlr-2.7.6.jar, cglib-2.1_3.jar, asm-1.5.3.jar, joda-time-1.5.jar, xstream-1.3.1.
jar, xpp3_min-1.1.4c.jar, spring-web-2.5.6.jar, spring-beans-2.5.6.jar, spring-c
ore-2.5.6.jar, spring-context-2.5.6.jar, aopalliance-1.0.jar, spring-security-co
re-2.0.4.jar, spring-aop-2.0.8.jar, spring-support-2.0.8.jar, commons-codec-1.3.
jar, backport-util-concurrent-3.1.jar, jsr107cache-1.0.jar, commons-lang-2.4.jar
, servlet-api-2.5.jar, jsp-api-2.0.jar, jdom-1.1.jar, junit-4.5.jar, jbehave-cor
e-2.2.jar, junit-dep-4.4.jar, hamcrest-all-1.1.jar, spring-test-2.5.6.jar]]
        at org.jbehave.scenario.ScenarioClassLoader.newScenario(ScenarioClassLoa
der.java:45)
        at org.jbehave.mojo.AbstractScenarioMojo.scenarios(AbstractScenarioMojo.
java:158)
        ... 19 more
Caused by: java.lang.NoSuchMethodException: com.qualitytech.selftest.scenarios.S
elfTestPasses.<init>(java.lang.ClassLoader)
        at java.lang.Class.getConstructor0(Class.java:2706)
        at java.lang.Class.getConstructor(Class.java:1657)
        at org.jbehave.scenario.ScenarioClassLoader.newScenario(ScenarioClassLoa
der.java:34)
        ... 20 more
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 6 seconds
[INFO] Finished at: Sun May 10 12:57:24 EDT 2009
[INFO] Final Memory: 20M/37M
[INFO] ------------------------------------------------------------------------

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email





---------------------------------------------------------------------
To unsubscribe from this list, please visit:

   http://xircles.codehaus.org/manage_email


Reply via email to