由于需要大量定制,我确实开发了自己的Groovy插件,它创建了ZIP存档,可以100%准备部署(就像Maven程序集插件一样)。不过,如果我跑
mvn clean install ...
命令它创建一个程序集(单个ZIP文件),将它放到$ {project.build.directory}(... / target),然后就是它。
我如何告诉Maven,它现在是部署的一部分,我想部署这个ZIP文件?
答案 0 :(得分:1)
您有两种选择:
使用buildhelper:attach-artifact:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>1.8</version>
<executions>
<execution>
<id>attach-artifacts</id>
<phase>package</phase>
<goals>
<goal>attach-artifact</goal>
</goals>
<configuration>
<artifacts>
<artifact>
<file>some file</file>
<type>extension of your file </type>
<classifier>optional</classifier>
</artifact>
...
</artifacts>
</configuration>
</execution>
</executions>
</plugin>
或者(并且更好),您可以在自己的插件中包含必要的代码:
@Component
protected MavenProject project;
@Component
protected MavenProjectHelper projectHelper;
...
projectHelper.attachArtifact(project, "jar", resource.getClassifier(), targetArchive);
答案 1 :(得分:0)
实际上它也在Groovy中运行(从groovy-maven-plugin运行):
def helper =
session.lookup("org.apache.maven.project.MavenProjectHelper");
helper.attachArtifact(project, "zip", _classifier, new File(_archiveFilename));
N.B:
_classifier和_archiveFilename都应该由您的代码声明和初始化。