使用 Maven 依赖项解决 Izpack 工件

Resolving Izpack artifacts using maven dependency

我有 Izpack 安装程序,它打包了一个预配置的服务器并安装在目标目录中。该服务器大约 500Mb。目前我已经检查了安装程序 Maven project.But 的这个 src/main/resources 文件夹,在 git 中有这个大服务器使得 git 拉得非常慢。所以我打算将此服务器作为 maven 工件保留在 nexus 中,并将其依赖项添加到安装程序 maven 项目中。这样我就可以创建一个 Maven 配置文件来按需从 nexus 中拉出这个服务器。我还没有弄清楚如何使用 Maven 插件将此依赖项复制到暂存文件夹(任何帮助将不胜感激)。我的问题是,这是正确的方法吗?或者有没有更好的方法来做到这一点。提前致谢。

您可以使用 maven dependency plugin 将依赖项复制到特定文件夹。

您可以使用它来复制所有依赖项,甚至解压缩这些依赖项。

<plugins>
  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-dependency-plugin</artifactId>
    <version>2.10</version>
    <executions>
      <execution>
        <id>unpack</id>
        <phase>package</phase>
        <goals>
          <goal>unpack</goal>
        </goals>
        <configuration>
            <outputDirectory>${izpack.staging}/content/ninjolibs</outputDirectory>
        </configuration>
      </execution>
    </executions>
  </plugin>
</plugins>

这就是我所做的。我将 wso2.zip 作为 zip 工件上传到 nexus 并配置了我的安装程序模块的 pom.xml 以使用此依赖项。

  <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-dependency-plugin</artifactId>
        <version>2.10</version>
        <executions>
          <execution>
            <id>copy-binaries</id>
            <phase>prepare-package</phase>
            <goals>
              <goal>copy</goal>
            </goals>
            <configuration>
              <artifactItems>
                <artifactItem>
                  <groupId>org.wso2</groupId>
                  <artifactId>wso2is</artifactId>
                  <version>5.0.0</version>
                  <type>zip</type>
                  <overWrite>true</overWrite>
                  <outputDirectory>src/main/resources/wso2/binary</outputDirectory>
                  <destFileName>wso2is-5.0.0.zip</destFileName>
                </artifactItem>                
              </artifactItems>
            </configuration>
          </execution>
        </executions>
      </plugin>