通过 https 将 Maven 站点部署到 Nexus-3

Deploying a maven site to Nexus-3 via https

好的,情况是这样的:

我有一个多模块 Maven 项目(目前使用 v3.5.2),它有一个大型站点部署,一段时间前我将 Maven 站点(mvn clean site site:deploy)部署到 Nexus-2.x 使用简单 http.

的站点存储库

迁移到 Nexus-3.8.0 后,我考虑将整个服务器放在一个仅允许 https 的反向代理后面,运行 目前还不错。不幸的是,我无法将站点部署到新的原始存储库,该存储库应该保存我的 Maven 项目中的站点。

目前的配置是这样的

                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-site-plugin</artifactId>
                <version>3.0.0</version>
                <dependencies>
                    <dependency>
                        <groupId>org.apache.maven.wagon</groupId>
                        <artifactId>wagon-webdav-jackrabbit</artifactId>
                        <version>3.0.0</version>
                    </dependency>
                </dependencies>
                <configuration>
                    <locales>en_US</locales>
                </configuration>
            </plugin>

运行 上面的命令给了我

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-site-plugin:3.7:deploy (default-cli) on project server-policies: Wagon protocol 'https' doesn't support directory copying -> [Help 1]

我的站点配置如下所示:

<distributionManagement>
    <site>
        <id>sites-repository</id>
        <url>dav:https://nx3.mydomain/repository/prd-${project.artifactId}</url>
    </site>
    ...
</distributionManagement>

有什么方法可以使用 https 将站点上传到 Nexus-3.x 存储库?

不,那不可能。您必须为站点存储库使用 http。

您遇到的问题是 distributionManagement.site.url/

结尾

假设您在设置文件中正确设置了 <servers><server><id>sites-repository....,这将正常工作。

执行 mvn help:effective-pom 并查看您的 <distributionManagement> 部分。