我有一个单独的git存储库用于文档模板,我无法控制,但其内容需要作为文件夹包含在我的最终WAR中。这些版本控制并不重要,在打包战争时应始终使用最新版本。
这可能与Maven有关,还是我需要单独编写脚本?我非常希望不惜一切代价避免使用git子模块。
答案 0 :(得分:2)
这可能与Maven有关,还是我需要单独编写脚本?我非常希望不惜一切代价避免使用git子模块。
应该可以使用Maven SCM Plugin及其scm:checkout
目标来获取git存储库的内容(在配置中提供所有必需的信息,如connectionUrl
,{ prepare-package
期间的{{}}}等等(并在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>
[...]
答案 1 :(得分:0)
查看有关战争资源here
的部分只需将webResoruces配置指向您的git repo,它就会包含在战争中。 您可能还想为.git文件夹添加一个忽略选项(除非您想要在战争中使用所有git的工件)。