Details
-
New Feature
-
Status: Closed
-
Major
-
Resolution: Fixed
-
1.1
-
None
-
None
-
Maven
Description
For an instant developer experience, we need to be able to do something like the following:
svn co https://company.repository.com/project/foo foo
cd foo
mvn install
mvn tomcat:run
Using the tomcat:run goal in itself works perfectly, but the (in-memory) database is empty. Using the Jetty plugin, I can choose to use the test classpath (which tells Hibernate to initialize the database):
<plugin> <groupId>org.mortbay.jetty</groupId> <artifactId>maven-jetty-plugin</artifactId> <version>6.1.26</version> <configuration> <useTestClasspath>true</useTestClasspath> <webAppConfig> <jettyEnvXmlFile>/src/test/config/jetty-env.xml</jettyEnvXmlFile> </webAppConfig> </configuration> <!-- Cut out: dependencies for the database --> </plugin>
I want to do something similar with the Tomcat plugin:
<plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>tomcat-maven-plugin</artifactId> <version>1.1</version> <configuration> <useTestClasspath>true</useTestClasspath><!-- This is the requested item. --> <path>/</path> <contextFile>src/test/config/tomcat-context.xml</contextFile> </configuration> <!-- Cut out: dependencies for the database --> </plugin>
So my request is: add a "useTestClasspath" configuration setting for tje class RunMojo that tells it to use MavenProject.getTestClasspathElements() instead of MavenProject.getCompileClasspathElements() when creating the webapp loader. On 2011-02-08, this was line 132 in the class org.codehaus.mojo.tomcat.RunMojo.