0
在junit測試用例運行之前,我如何讓maven從另一個項目拷貝一些資源文件?Maven和在測試時刻複製
我想要這樣做是因爲json文件是由ui團隊爲其測試目的而維護的,所以我想使用這些相同的文件來運行我們的圖層,以便我們知道在我們更改時不會打破預期的輸出我們的代碼。
在junit測試用例運行之前,我如何讓maven從另一個項目拷貝一些資源文件?Maven和在測試時刻複製
我想要這樣做是因爲json文件是由ui團隊爲其測試目的而維護的,所以我想使用這些相同的文件來運行我們的圖層,以便我們知道在我們更改時不會打破預期的輸出我們的代碼。
一個選擇是使用Maven依賴插件來選擇性地從包含這些文件的項目中「解壓」文件。
例如說在資源文件是com.foo.bar:myArtifact:jar項目,所以你可以做這樣的事情
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <version>2.4</version> <executions> <execution> <id>unpack</id> <!-- You could a phase of your choice based on needs --> <phase>compile</phase> <goals> <goal>unpack</goal> </goals> <configuration> <artifactItems> <artifactItem> <groupId>com.foo.bar</groupId> <artifactId>myArtifact</artifactId> <overWrite>true</overWrite> <outputDirectory>${project.build.directory}</outputDirectory> <includes>*.json</includes> </artifactItem> </artifactItems> </configuration> </execution> </executions> </plugin> </plugins> </build>
這將複製所有以.json文件(只是舉個例子)到當前項目的構建輸出目錄。
您可以參考依賴插件瞭解更多配置選項。
希望這有助於。
如果我想複製的項目是在我想複製的項目之後構建的,該怎麼辦? – arinte 2012-02-07 21:35:41
@arinte首先,依賴某個項目後建立的項目並不是一個好習慣。 如果有需要,您可以鏈接其他項目(符號鏈接)上的文件,或者如果它們屬於同一個源代碼樹,則可以使用相對路徑(例如$ {basedir} /../ some-項目建成-後我/ src目錄/主/資源/ ... – 2012-02-10 00:41:52