JBehave
  1. JBehave
  2. JBEHAVE-299

Problems with jBehave, Maven and Windows

    Details

    • Type: Bug Bug
    • Status: Resolved Resolved
    • Priority: Major Major
    • Resolution: Not A Bug
    • Affects Version/s: 2.5.8
    • Fix Version/s: None
    • Component/s: Maven Plugin
    • Labels:
      None
    • Environment:
    • Number of attachments :
      1

      Description

      I am attempting to use the Maven plugin for jBehave with the project that I have attached. After some help from Mauro on the users mailing list I am left with the following when I run 'mvn integration-test'.

      C:\Workspace\proview>mvn integration-test
      [INFO] Scanning for projects...
      [INFO] ------------------------------------------------------------------------
      [INFO] Building Maven Quick Start Archetype
      [INFO] task-segment: [integration-test]
      [INFO] ------------------------------------------------------------------------
      [INFO] [resources:resources

      {execution: default-resources}

      ]
      [INFO] Using encoding: 'UTF-8' to copy filtered resources.
      Downloading: http://repository.codehaus.org/org/lunivore/tyburn/1.1/tyburn-1.1.pom
      [INFO] Unable to find resource 'org.lunivore:tyburn:pom:1.1' in repository codehaus (http://repository.codehaus.org)
      Downloading: http://repo1.maven.org/maven2/org/lunivore/tyburn/1.1/tyburn-1.1.pom
      [INFO] Unable to find resource 'org.lunivore:tyburn:pom:1.1' in repository central (http://repo1.maven.org/maven2)
      [INFO] [compiler:compile

      {execution: default-compile}

      ]
      [INFO] Nothing to compile - all classes are up to date
      [INFO] [resources:testResources

      {execution: default-testResources}

      ]
      [INFO] Using encoding: 'UTF-8' to copy filtered resources.
      [INFO] [compiler:testCompile

      {execution: default-testCompile}

      ]
      [INFO] Nothing to compile - all classes are up to date
      [INFO] [surefire:test

      {execution: default-test}

      ]
      [INFO] Surefire report directory: C:\Workspace\proview\target\surefire-reports

      -------------------------------------------------------
      T E S T S
      -------------------------------------------------------
      Running com.electrostandards.prod.AppTest
      Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.172 sec
      Running com.electrostandards.prod.ProViewTest
      Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0 sec

      Results :

      Tests run: 2, Failures: 0, Errors: 0, Skipped: 0

      [INFO] [jar:jar

      {execution: default-jar}

      ]
      [INFO] Building jar: C:\Workspace\proview\target\proview-1.0-SNAPSHOT.jar
      [INFO] [jbehave:run-scenarios

      {execution: run-scenarios-found}

      ]
      [INFO] Running scenario com.electrostandards.prod.scenarios.ProviewStartsInOfflineMode
      [WARNING] Failure in running scenario com.electrostandards.prod.scenarios.ProviewStartsInOfflineMode
      org.jbehave.scenario.errors.ScenarioNotFoundException: Path 'com/electrostandards/prod/scenarios/proview_starts_in_offline_mode.scenario' could not be found by
      classloader [org.jbehave.scenario.ScenarioClassLoader urls=[/C:/Workspace/proview/target/test-classes/, /C:/Workspace/proview/target/classes/, junit-dep-4.4.jar, hamcrest-core-1.1.jar, freemarker-2.3.16.jar, jbehave-core-2.5.8.jar, commons-lang-2.4.jar, commons-collections-3.2.1.jar, commons-io-1.4.jar, swing-worker-1.
      1.jar, filters-2.0.235.jar, swingx-1.6.jar, tyburn-1.1.jar]]
      at org.jbehave.scenario.parser.ClasspathScenarioDefiner.loadInputStreamFor(ClasspathScenarioDefiner.java:60)
      at org.jbehave.scenario.parser.ClasspathScenarioDefiner.loadScenarioDefinitionsFor(ClasspathScenarioDefiner.java:48)
      at org.jbehave.scenario.ScenarioRunner.run(ScenarioRunner.java:39)
      at org.jbehave.scenario.AbstractScenario.runScenario(AbstractScenario.java:75)
      at org.jbehave.scenario.JUnitScenario.runScenario(JUnitScenario.java:54)
      at org.jbehave.mojo.ScenarioRunnerMojo.execute(ScenarioRunnerMojo.java:36)
      at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:490)
      at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:694)
      at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:556)
      at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:535)
      at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:387)
      at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:348)
      at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:180)
      at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:328)
      at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138)
      at org.apache.maven.cli.MavenCli.main(MavenCli.java:362)
      at org.apache.maven.cli.compat.CompatibleMain.main(CompatibleMain.java:60)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.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)
      [INFO] Running scenario com.electrostandards.prod.scenarios.UserConnectsToTarget
      [WARNING] Failure in running scenario com.electrostandards.prod.scenarios.UserConnectsToTarget
      org.jbehave.scenario.errors.ScenarioNotFoundException: Path 'com/electrostandards/prod/scenarios/user_connects_to_target.scenario' could not be found by classlo
      ader [org.jbehave.scenario.ScenarioClassLoader urls=[/C:/Workspace/proview/target/test-classes/, /C:/Workspace/proview/target/classes/, junit-dep-4.4.jar, hamcrest-core-1.1.jar, freemarker-2.3.16.jar, jbehave-core-2.5.8.jar, commons-lang-2.4.jar, commons-collections-3.2.1.jar, commons-io-1.4.jar, swing-worker-1.1.jar, filters-2.0.235.jar, swingx-1.6.jar, tyburn-1.1.jar]]
      at org.jbehave.scenario.parser.ClasspathScenarioDefiner.loadInputStreamFor(ClasspathScenarioDefiner.java:60)
      at org.jbehave.scenario.parser.ClasspathScenarioDefiner.loadScenarioDefinitionsFor(ClasspathScenarioDefiner.java:48)
      at org.jbehave.scenario.ScenarioRunner.run(ScenarioRunner.java:39)
      at org.jbehave.scenario.AbstractScenario.runScenario(AbstractScenario.java:75)
      at org.jbehave.scenario.JUnitScenario.runScenario(JUnitScenario.java:54)
      at org.jbehave.mojo.ScenarioRunnerMojo.execute(ScenarioRunnerMojo.java:36)
      at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:490)
      at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:694)
      at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:556)
      at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:535)
      at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:387)
      at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:348)
      at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:180)
      at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:328)
      at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138)
      at org.apache.maven.cli.MavenCli.main(MavenCli.java:362)
      at org.apache.maven.cli.compat.CompatibleMain.main(CompatibleMain.java:60)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.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)
      [INFO] Running scenario com.electrostandards.prod.scenarios.UserSelectsCommunicationsPort
      [WARNING] Failure in running scenario com.electrostandards.prod.scenarios.UserSelectsCommunicationsPort
      org.jbehave.scenario.errors.ScenarioNotFoundException: Path 'com/electrostandards/prod/scenarios/user_selects_communications_port.scenario' could not be found by classloader [org.jbehave.scenario.ScenarioClassLoader urls=[/C:/Workspace/proview/target/test-classes/, /C:/Workspace/proview/target/classes/, junit-dep-4.4.jar, hamcrest-core-1.1.jar, freemarker-2.3.16.jar, jbehave-core-2.5.8.jar, commons-lang-2.4.jar, commons-collections-3.2.1.jar, commons-io-1.4.jar, swing-worker-
      1.1.jar, filters-2.0.235.jar, swingx-1.6.jar, tyburn-1.1.jar]]
      at org.jbehave.scenario.parser.ClasspathScenarioDefiner.loadInputStreamFor(ClasspathScenarioDefiner.java:60)
      at org.jbehave.scenario.parser.ClasspathScenarioDefiner.loadScenarioDefinitionsFor(ClasspathScenarioDefiner.java:48)
      at org.jbehave.scenario.ScenarioRunner.run(ScenarioRunner.java:39)
      at org.jbehave.scenario.AbstractScenario.runScenario(AbstractScenario.java:75)
      at org.jbehave.scenario.JUnitScenario.runScenario(JUnitScenario.java:54)
      at org.jbehave.mojo.ScenarioRunnerMojo.execute(ScenarioRunnerMojo.java:36)
      at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:490)
      at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:694)
      at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:556)
      at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:535)
      at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:387)
      at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:348)
      at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:180)
      at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:328)
      at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138)
      at org.apache.maven.cli.MavenCli.main(MavenCli.java:362)
      at org.apache.maven.cli.compat.CompatibleMain.main(CompatibleMain.java:60)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.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)
      [INFO] [jbehave:render-reports

      {execution: render-reports}

      ]
      [INFO] Rendering reports in 'C:\Workspace\proview\target\jbehave-reports' using formats '[txt, html, xml]' and template properties '

      {renderedDirectory=rendered, defaultFormats=stats}

      '
      [INFO] Rendered reports with 0 scenarios (of which 0 failed)
      [INFO] ------------------------------------------------------------------------
      [INFO] BUILD SUCCESSFUL
      [INFO] ------------------------------------------------------------------------
      [INFO] Total time: 15 seconds
      [INFO] Finished at: Fri Jun 04 10:37:51 EDT 2010
      [INFO] Final Memory: 18M/43M

      I can't seem to figure out why jBehave/Maven can't find the classes, they appear to be sitting exactly where jBehave/Maven is looking. Mauro seems to think it may have to do with Windows, but I am not sure at this point.

      Thank you,

      Joe

        Activity

        Hide
        Mauro Talevi added a comment -

        The scenario textual files are not being copied to the classpath. You need to add the following <testResources> element to your pom.xml <build> section

        <testResources>
        <testResource>
        <directory>$

        {project.build.testSourceDirectory}

        </directory>
        <filtering>false</filtering>
        <excludes>
        <exclude>*/.java</exclude>
        </excludes>
        </testResource>
        </testResources>

        Show
        Mauro Talevi added a comment - The scenario textual files are not being copied to the classpath. You need to add the following <testResources> element to your pom.xml <build> section <testResources> <testResource> <directory>$ {project.build.testSourceDirectory} </directory> <filtering>false</filtering> <excludes> <exclude>* / .java</exclude> </excludes> </testResource> </testResources>
        Mauro Talevi made changes -
        Field Original Value New Value
        Status Open [ 1 ] Resolved [ 5 ]
        Resolution Not A Bug [ 6 ]

          People

          • Assignee:
            Unassigned
            Reporter:
            Joseph DelCioppio
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: