我正在尝试使用“tomcat7-maven-plugin”对war文件运行集成测试。当战争被部署时,它基本上加载spring applicaitoncontext,而后者又期望类路径上的属性文件。在常规的 tomcat 实例中,我将属性文件保存在我机器上的某个位置,然后配置 catalina.properties -> common.loader 以指向该目录。但我不知道如何使用这个插件来实现这一点。
这是我尝试过的插件配置:
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.1</version>
<configuration>
<!-- port>8090</port -->
<url>http://localhost:8080/manager/text</url>
<server>TomcatServer</server>
<path>/${project.build.finalName}</path>
<!-- systemProperties>
<systemProperty>
<maven.tomcat.port>8080</maven.tomcat.port>
</systemProperty>
</systemProperties -->
<!-- if you want to use test dependencies rather than only runtime -->
<useTestClasspath>false</useTestClasspath>
<!-- optional if you want to add some extra directories into the classloader -->
<additionalClasspathDirs>
<additionalClasspathDir>${basedir}/src/test/resources</additionalClasspathDir>
</additionalClasspathDirs>
<additionalConfigFilesDir>${basedir}/src/test/resources</additionalConfigFilesDir>
</configuration>
<executions>
<execution>
<id>tomcat-run</id>
<phase>pre-integration-test</phase>
<goals>
<!-- goal>run</goal -->
<goal>run-war-only</goal>
</goals>
<configuration>
<additionalClasspathDirs>
<additionalClasspathDir>${basedir}/src/test/resources</additionalClasspathDir>
</additionalClasspathDirs>
<additionalConfigFilesDir>${basedir}/src/test/resources</additionalConfigFilesDir>
</configuration>
</execution>
<execution>
<id>tomcat-shutdown</id>
<goals>
<goal>shutdown</goal>
</goals>
<phase>post-integration-test</phase>
</execution>
</executions>
</plugin>