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.