使用 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>
我有 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>