我有一個單獨的git倉庫,用於我無法控制的文檔模板,但其內容需要作爲文件夾包含在我的最終WAR中。這些版本並不重要,打包戰爭時應始終使用最新版本。包括Git回購內容作爲Subdir使用Maven
這是可能與Maven或我需要單獨編寫腳本?我非常想避免不惜一切代價使用git子模塊。
我有一個單獨的git倉庫,用於我無法控制的文檔模板,但其內容需要作爲文件夾包含在我的最終WAR中。這些版本並不重要,打包戰爭時應始終使用最新版本。包括Git回購內容作爲Subdir使用Maven
這是可能與Maven或我需要單獨編寫腳本?我非常想避免不惜一切代價使用git子模塊。
這是可能與Maven或我需要單獨編寫腳本?我非常想避免不惜一切代價使用git子模塊。
應該可以使用Maven SCM Plugin及其scm:checkout
目標是讓你的git倉庫的內容在prepare-package
階段(提供在類似connectionUrl
配置所有需要的信息,該checkoutDirectory
等)(和在package
期間將它打包在你的戰爭中)。就像這樣:
[...]
<build>
[...]
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-scm-plugin</artifactId>
<version>1.1</version>
<executions>
<execution>
<phase>prepare-package</phase>
<goals>
<goal>checkout</goal>
</goals>
<configuration>
<checkoutDirectory>${project.build.directory}/${project.build.finalName}/somepath</checkoutDirectory>
<connectionUrl>scm:git:git://server_name[:port]/path_to_repository</connectionUrl>
...
</configuration>
</execution>
</executions>
</plugin>
[...]
</plugins
[...]
</build>
[...]
結賬戰爭資源的部分here
只需點webResoruces配置到你的混帳回購協議,這將被包含在了戰爭。 你可能會想爲.git文件夾添加一個忽略選項(除非你想在戰爭中使用所有git的工件)。
完美,謝謝!十分優雅。 – 2010-10-20 15:42:23
@Jake不客氣。我忘了提到這一點,但將上述內容放在最終交付時使用的配置文件中,以避免在開發過程中結帳可能是明智的做法。 – 2010-10-20 15:48:21