我正在使用 jetty-maven 插件来部署一个用于集成测试的网络应用程序。我有一个由两个 POM 组成的项目。一个在根目录中,一个在项目根目录中的目录中(称为 webapp 目录)。当我从 webapp 目录中的 maven(使用 jetty-maven 插件)运行集成测试时,它工作得非常好。但是,当我从根目录运行它时,它会进入 webapp 目录并运行测试,但由于某种原因,它的路径错误。(因此,无法找到所有资源)。
它将根目录路径连接到 webapp 资源路径。它也不理解路径中的点运算符。
例如:如果要查找“./resources/resource.xml”
如果测试是从 webapp 目录运行的,它会正常工作,但是如果从根目录运行,它将生成路径:“c:/project/./resources/resource.xml”。这是 jetty-maven 插件,但我不知道为什么。
有没有办法解决这个问题?
这是我的 webapp 目录 POM 的相关部分
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<configuration>
<webApp>${basedir}/target/webappSNAPSHOT.war</webApp>
<extraClasspath>${project.build.testOutputDirectory}</extraClasspath>
<testClassesDirectory>${basedir}/target/test-classes</testClassesDirectory>
<useTestClasspath>true</useTestClasspath>
<stopPort>9929</stopPort>
<stopKey>stopKey</stopKey>
</configuration>