我想使用快照存储库(使用配置的属性project.distributionManagement.snapshotRepository.url)将手动文件部署到远程存储库(如果项目的当前版本是快照版本)或发布存储库(使用否则配置属性project.distributionManagement.repository.url)。
我想将 swagger json 架构部署到存储库,但除了手动部署之外,我没有找到任何方法。
最佳答案
有一个解决方案,可以使用构建器帮助程序 bsh 来使用分发管理配置中的正确存储库。它设置一个具有正确值的属性。然后使用目标部署文件和此 URL 调用 Maven 部署插件。
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>1.12</version>
<executions>
<execution>
<goals>
<goal>bsh-property</goal>
</goals>
<configuration>
<properties>
<property>deploy.url</property>
</properties>
<source>deploy.url = project.getVersion().endsWith("-SNAPSHOT") ? project.getDistributionManagement().getSnapshotRepository().getUrl() : project.getDistributionManagement().getRepository().getUrl() ;</source>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<version>2.8.2</version>
<executions>
<execution>
<phase>deploy</phase>
<goals>
<goal>deploy-file</goal>
</goals>
<configuration>
<url>${deploy.url}</url>
<repositoryId>releases</repositoryId>
<file>${swagger.directory}/swagger.json</file>
<groupId>${project.groupId}</groupId>
<artifactId>${project.artifactId}</artifactId>
<version>${project.version}</version>
<packaging>json</packaging>
<classifier>swagger</classifier>
</configuration>
</execution>
</executions>
</plugin>
关于java - 根据项目版本使用发布或快照存储库进行手动部署,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41181118/