微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何添加发布目标:执行 maven-release-plugin 阶段

如何解决如何添加发布目标:执行 maven-release-plugin 阶段

我使用 kongchen 的 swagger-maven-plugin。另外我使用 maven-release-plugin。从 swagger-maven-plugin 生成的 swagger.json 不是 repo 的一部分。如果我使用 mvn package 构建应用程序,则会生成 swagger.json 和 jar 的一部分。

如果我使用 maven-release-plugin 发布应用程序,则 swagger.json 不是 jar 文件的一部分。我查看了日志,发现 maven-release-plugin 包含三个步骤 - release:clean、release:prepare 和 perform。

release:clean - 清理工作区

release:prepare - 日志显示 swagger-maven-plugin 工作并生成了 swagger.json

release:perform - 日志显示 perform 由三个阶段组成(verify-completed-prepare-phases、checkout-prjoect-from-scm 和 run-perform-goals)。我认为这意味着整个项目被再次签出,因此生成文件消失了(这有多棒......)。

如何向 release:perform 添加一个阶段?

我找到了以下文档 https://maven.apache.org/maven-release/maven-release-manager/index.html 并且知道可以添加额外的准备目标 https://maven.apache.org/maven-release/maven-release-plugin/examples/run-goals-before-commit.html

我需要在 release:perform 步骤中添加目标(例如编译或打包)。我怎样才能做到这一点?

谢谢!

         <plugin>
            <groupId>com.github.kongchen</groupId>
            <artifactId>swagger-maven-plugin</artifactId>
            <version>3.1.8</version>
            <configuration>
                <apiSources>
                    <apiSource>
                        <basePath>/.../api</basePath>
                        <locations>
                            <location>not.public</location>
                        </locations>
                        <info>
                            <title>${project.artifactId}</title>
                            <version>${project.version}</version>
                        </info>
                        <outputFormats>json</outputFormats>
                        <swaggerDirectory>${basedir}/src/main/resources/meta-inf/path</swaggerDirectory>
                    </apiSource>
                </apiSources>
            </configuration>
            <executions>
                <execution>
                    <phase>compile</phase>
                    <goals>
                        <goal>generate</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>

解决方法

您需要设置 goalsrelease:perform 参数。这包含在“内部构建”中执行的目标。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?