通过https

时间:2018-02-22 14:19:18

标签: maven-3 maven-site-plugin nexus3

好的,情况就是这样:

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

迁移到Nexus-3.8.0后,我考虑将整个服务器bedind放在一个只允许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存储库?

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

distributionManagement.site.url结束/

会导致您遇到的问题

假设您在设置文件中正确设置了<servers><server><id>sites-repository....,这样就可以了。

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