Hello there

I've been trying to use jbehave on a project and I ran into some problems.
When running the maven goal, I got the following error:

[ERROR] Failed to execute goal
> org.jbehave:jbehave-maven-plugin:3.6.7:run-stories-as-embeddables
> (default-cli) on project springmvc-router: Execution default-cli of goal
> org.jbehave:jbehave-maven-plugin:3.6.7:run-stories-as-embeddables failed: A
> required class was missing while executing
> org.jbehave:jbehave-maven-plugin:3.6.7:run-stories-as-embeddables:
> javax/servlet/http/HttpServletRequest


It looks like jbehave's Embedder classloader can't locate
the HttpServletRequest. This dependency is declared in my main POM like
this:

        <dependency>
>             <groupId>javax.servlet</groupId>
>             <artifactId>servlet-api</artifactId>
>             <version>2.5</version>
>             <scope>provided</scope>
>         </dependency>


If I ever change the scope to "compile", I get another error saying:

Caused by: java.lang.InstantiationException:
> org.myproject.OneOfMyProjectClasses
>  at java.lang.Class.newInstance0(Class.java:340)
> at java.lang.Class.newInstance(Class.java:308)
> at
> org.jbehave.core.embedder.EmbedderClassLoader.newInstance(EmbedderClassLoader.java:37)
>  ... 24 more



Is there a typo/bug in my configuration?
I've browsed jbehave-maven-plugin (AbstractEmbedderMojo to be precise) but
couldn't anything on dependencies in provided scope. Should I open an issue
about that?

This is the maven config I've added to my POM:

>
>             <plugin>
>                 <groupId>org.jbehave</groupId>
>                 <artifactId>jbehave-maven-plugin</artifactId>
>                 <version>${jbehave.version}</version>
>                 <executions>
>                     <execution>
>                         <id>run-stories-as-embeddables</id>
>                         <phase>integration-test</phase>
>                         <configuration>
>                             <scope>test</scope>
>                             <includes>
>                                 <include>**/MyStories.java</include>
>                             </includes>
>                         </configuration>
>                         <goals>
>                             <goal>run-stories-as-embeddables</goal>
>                         </goals>
>                     </execution>
>                 </executions>
>             </plugin>


Thanks
-- Brian

Reply via email to