为了自动在我们的系统中一些FitNesse的测试中,我需要基本上做到以下几点:在Maven antrun任务中配置classpath的最佳/最简单的方法?
- 在Maven构建的一切。
- 使用构建的代码启动服务器进程。
- 对服务器运行FitNesse测试。
这很好,除了在Maven集成测试阶段启动服务器。主要是,我不确定如何将项目类路径导入到java任务中; FitNesse Java任务工作正常,但不需要访问已编译的类。到目前为止,我有以下Maven配置,但是第一个Java执行失败,因为找不到该类。据推测,我需要这个任务来表现像surefire插件,并使用一个类路径与所有编译的项目和依赖关系。
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.8</version>
<executions>
<execution>
<id>start-fitnesse-integration</id>
<phase>integration-test</phase>
<configuration>
<tasks>
<echo taskname="fitnesse" message="Starting Server..."/>
<java classname="com.xyz.ServerProcess" fork="true" failonerror="true">
<jvmarg value="-Xmx1024m"/>
<!-- etc. -->
</java>
<echo taskname="fitnesse" message="Starting Fitnesse tests..."/>
<java classname="fitnesseMain.FitNesseMain" classpathref="maven.runtime.classpath" fork="true" failonerror="true">
<!-- FitNesse command - works OK -->
</java>
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
应如何为第一个Java任务指定类路径?替代解决方案的想法也受到欢迎
我会建议看看[maven-dependency-plugin](http://maven.apache.org/plugins/maven-dependency-plugin/build-classpath-mojo.html),它提供了一种方法也可以为不同的作用域获取类路径。此外还有一个[fitness-maven-launcher-plugin](https://code.google.com/p/fitnesse-launcher-maven-plugin/),它可能也有帮助。 – khmarbaise
你在问第一个java任务,对吗?所以你基本上是问如何从Maven运行(使用Ant)开始你自己的服务器进程? –
@Fried Hoeben - 是的,这是正确的。 – BarrySW19