mvn release:perform 分布管理 url
mvn release:perform distributionManagement url
我的 pom.xml
中有此配置:
<distributionManagement>
<downloadUrl>http://mydomain/downloads/<downloadUrl>
<repository>
<id>Id</id>
<name>Name</name>
<url>scp://ipaddress/downloads/</url>
</repository>
</distributionManagement>
当我执行 mvn release:perform
并导航到 http://mydomain/downloads/
时,有一个目录层次结构 com/my/application
是我的应用程序 groupId,在其中,我有 .apk 文件(是一个 Android 应用程序)。
有什么方法可以在 http://mydomain/downloads/
而不是 http://mydomain/downloads/com/my/application
中部署 apk?我的意思是,忽略 groupId。
谢谢!
您不能忽略 groupId,因为这是 Maven 存储库的基础。
如果您想以其他方式进行操作,则不应使用 Maven 部署。解决方案可以是使用特定的插件,例如 wagon-maven-plugin
感谢 khmarbaise,我找到了使用 wagon 插件的解决方案:
<build>
...
<extensions>
<extension>
<groupId>org.apache.maven.wagon</groupId>
<artifactId>wagon-ssh</artifactId>
<version>2.8</version>
</extension>
</extensions>
...
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>wagon-maven-plugin</artifactId>
<version>1.0</version>
<executions>
<execution>
<id>upload-apk</id>
<phase>deploy</phase>
<goals>
<goal>upload</goal>
</goals>
<configuration>
<fromDir>${project.build.directory}</fromDir>
<includes>${project.build.finalName}.apk</includes>
<url>scp://ipaddress/downloads/${artifactId}</url>
<serverId>downloads</serverId>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
此外,我放置了 <serverId>
标签,因为它的凭据存储在 settings.xml
.
我的 pom.xml
中有此配置:
<distributionManagement>
<downloadUrl>http://mydomain/downloads/<downloadUrl>
<repository>
<id>Id</id>
<name>Name</name>
<url>scp://ipaddress/downloads/</url>
</repository>
</distributionManagement>
当我执行 mvn release:perform
并导航到 http://mydomain/downloads/
时,有一个目录层次结构 com/my/application
是我的应用程序 groupId,在其中,我有 .apk 文件(是一个 Android 应用程序)。
有什么方法可以在 http://mydomain/downloads/
而不是 http://mydomain/downloads/com/my/application
中部署 apk?我的意思是,忽略 groupId。
谢谢!
您不能忽略 groupId,因为这是 Maven 存储库的基础。
如果您想以其他方式进行操作,则不应使用 Maven 部署。解决方案可以是使用特定的插件,例如 wagon-maven-plugin
感谢 khmarbaise,我找到了使用 wagon 插件的解决方案:
<build>
...
<extensions>
<extension>
<groupId>org.apache.maven.wagon</groupId>
<artifactId>wagon-ssh</artifactId>
<version>2.8</version>
</extension>
</extensions>
...
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>wagon-maven-plugin</artifactId>
<version>1.0</version>
<executions>
<execution>
<id>upload-apk</id>
<phase>deploy</phase>
<goals>
<goal>upload</goal>
</goals>
<configuration>
<fromDir>${project.build.directory}</fromDir>
<includes>${project.build.finalName}.apk</includes>
<url>scp://ipaddress/downloads/${artifactId}</url>
<serverId>downloads</serverId>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
此外,我放置了 <serverId>
标签,因为它的凭据存储在 settings.xml
.