包括Git Repo内容作为Subdir与Maven

时间:2010-10-19 20:30:07

标签: git maven-2 maven

我有一个单独的git存储库用于文档模板,我无法控制,但其内容需要作为文件夹包含在我的最终WAR中。这些版本控制并不重要,在打包战争时应始终使用最新版本。

这可能与Maven有关,还是我需要单独编写脚本?我非常希望不惜一切代价避免使用git子模块。

2 个答案:

答案 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的工件)。