2011-06-21 54 views
0

我正在使用jetty-maven插件爲集成測試部署Web應用程序。我有一個由兩個POM組成的項目。一個在根目錄中,另一個在項目根目錄中(稱爲webapp目錄)。當我從maven(使用jetty-maven插件)運行集成測試時,在webapp目錄中,它工作得很好。但是,當我從根目錄運行它時,它會進入webapp目錄並運行測試,但出於某種原因,它會導致路徑錯誤。 (因此,無法找到所有資源)。未使用正確路徑的maven-jetty插件

它將根目錄路徑連接到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> 
+0

如果您使用jetty插件配置提供了pom.xml的代碼片段,將會更容易。 –

回答

1

最有可能的,你只需要在你的web應用程序資源路徑來指定$ {BASEDIR}。

+0

我到底該怎麼做? – Sujen