maven 添加 zip 文件以部署到远程服务器
maven add zip file to deploy to remote server
我有maven项目。当我单击 install maven build zip 和 jar 文件夹中的 target
文件时。
但是当我点击 deploy 时,它只会将 jar 文件和依赖项部署到远程存储库。
问题:如何添加 zip 文件以使用标准 maven 插件部署到远程 nexus 存储库。
编辑
<packaging>custom-zip<packaging>
为了正确地 install
和 deploy
一个额外的工件(由构建生成的文件,通常也遵循其版本控制并且是相关项目结果的连贯部分),您需要将其附加到构建中,以便 Maven 将其作为其结果的官方可交付成果来处理。
要将文件附加到构建中,您可以使用 build-helper-maven-plugin
。
这是来自其 usage 页面的示例片段:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>1.12</version>
<executions>
<execution>
<id>attach-artifacts</id>
<phase>package</phase>
<goals>
<goal>attach-artifact</goal>
</goals>
<configuration>
<artifacts>
<artifact>
<file>the-generated-file</file>
<type>extension of your file</type>
<classifier>optional</classifier>
</artifact>
</artifacts>
</configuration>
</execution>
</executions>
</plugin>
你应该把上面的配置放在负责生成文件的插件声明之后,也就是说,当你尝试将它附加到构建时,该文件应该存在。查看 file
配置元素,在这里您应该指定文件,例如target\myfile.zip
。在这种情况下,它将在 package
阶段附加,以便 install
和 deploy
阶段在处理过程中将其考虑在内。
调用时
mvn clean install
然后您会看到构建输出的一部分:
[INFO] --- build-helper-maven-plugin:1.12:attach-artifact (attach-artifacts) @ zip-example ---
[INFO]
[INFO] --- maven-install-plugin:2.4:install (default-install) @ zip-example ---
[INFO] Installing C:\data\eclipse-workspace\zip-example\target\zip-example-0.0.1-SNAPSHOT.jar to c:\data\m2\repository\com\sample\zip-example[=12=].0.1-SNAPSHOT\zip-example-0.0.1-SNAPSHOT.jar
[INFO] Installing C:\data\eclipse-workspace\zip-example\pom.xml to c:\data\m2\repository\com\sample\zip-example[=12=].0.1-SNAPSHOT\zip-example-0.0.1-SNAPSHOT.pom
[INFO] Installing C:\data\eclipse-workspace\zip-example\sample.zip to c:\data\m2\repository\com\sample\zip-example[=12=].0.1-SNAPSHOT\zip-example-0.0.1-SNAPSHOT-optional.zip
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
注意:sample.zip
实际上是作为 zip-example-0.0.1-SNAPSHOT-optional.zip
复制到 m2
本地存储库的,因此根据项目配置重命名(artifactId
,version
, classifier
).
我有maven项目。当我单击 install maven build zip 和 jar 文件夹中的 target
文件时。
但是当我点击 deploy 时,它只会将 jar 文件和依赖项部署到远程存储库。
问题:如何添加 zip 文件以使用标准 maven 插件部署到远程 nexus 存储库。
编辑
<packaging>custom-zip<packaging>
为了正确地 install
和 deploy
一个额外的工件(由构建生成的文件,通常也遵循其版本控制并且是相关项目结果的连贯部分),您需要将其附加到构建中,以便 Maven 将其作为其结果的官方可交付成果来处理。
要将文件附加到构建中,您可以使用 build-helper-maven-plugin
。
这是来自其 usage 页面的示例片段:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>1.12</version>
<executions>
<execution>
<id>attach-artifacts</id>
<phase>package</phase>
<goals>
<goal>attach-artifact</goal>
</goals>
<configuration>
<artifacts>
<artifact>
<file>the-generated-file</file>
<type>extension of your file</type>
<classifier>optional</classifier>
</artifact>
</artifacts>
</configuration>
</execution>
</executions>
</plugin>
你应该把上面的配置放在负责生成文件的插件声明之后,也就是说,当你尝试将它附加到构建时,该文件应该存在。查看 file
配置元素,在这里您应该指定文件,例如target\myfile.zip
。在这种情况下,它将在 package
阶段附加,以便 install
和 deploy
阶段在处理过程中将其考虑在内。
调用时
mvn clean install
然后您会看到构建输出的一部分:
[INFO] --- build-helper-maven-plugin:1.12:attach-artifact (attach-artifacts) @ zip-example ---
[INFO]
[INFO] --- maven-install-plugin:2.4:install (default-install) @ zip-example ---
[INFO] Installing C:\data\eclipse-workspace\zip-example\target\zip-example-0.0.1-SNAPSHOT.jar to c:\data\m2\repository\com\sample\zip-example[=12=].0.1-SNAPSHOT\zip-example-0.0.1-SNAPSHOT.jar
[INFO] Installing C:\data\eclipse-workspace\zip-example\pom.xml to c:\data\m2\repository\com\sample\zip-example[=12=].0.1-SNAPSHOT\zip-example-0.0.1-SNAPSHOT.pom
[INFO] Installing C:\data\eclipse-workspace\zip-example\sample.zip to c:\data\m2\repository\com\sample\zip-example[=12=].0.1-SNAPSHOT\zip-example-0.0.1-SNAPSHOT-optional.zip
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
注意:sample.zip
实际上是作为 zip-example-0.0.1-SNAPSHOT-optional.zip
复制到 m2
本地存储库的,因此根据项目配置重命名(artifactId
,version
, classifier
).