Maven 发布过程一直失败:svn: E175013: Access to '/svn/tester/!svn/bc/170' forbidden

Maven release process consistently failing : svn: E175013: Access to '/svn/tester/!svn/bc/170' forbidden

我已经思考了很长一段时间了,我实际上已经在 Whosebug 上学到了很多这个问题,而且我很确定我涵盖了一些常见的错误(此外,我已经用 bitbucket 和 github) 盯着我看。但我仍然无法释放任何东西。我觉得是时候大声呼救了:)

我使用由 usvn 管理的自托管颠覆和 sonatype 私有 nexus 存储库。我在父模块和子模块模型中安排了一个多模块 Maven 项目。

下面是相关的父 pom 片段

 <build>
    <pluginManagement>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.12</version>
                <configuration>
                    <excludes>
                        <exclude>**/*ITest.java</exclude>
                    </excludes>
                </configuration>
            </plugin>
            <plugin>
                <artifactId>maven-failsafe-plugin</artifactId>
                <version>2.6</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>integration-test</goal>
                            <goal>verify</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>2.0.2</version>
                <configuration>
                    <source>1.7</source>
                    <target>1.7</target>
                    <encoding>${project.build.sourceEncoding}    </encoding>
                    <meminitial>128m</meminitial>
                    <maxmem>512m</maxmem>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-resources-plugin</artifactId>
                <version>2.4.3</version>
                <configuration>
                    <encoding>${project.build.sourceEncoding} </encoding>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-release-plugin</artifactId>
                <version>2.3.2</version>
                <configuration>
                    <preparationGoals>clean verify -DenableIT=true</preparationGoals>
                      <tagBase>https://repo.mysvnserver.com/svn/tester/tags</tagBase>
                </configuration>
            </plugin>
            <plugin>
                <groupId>com.mysema.maven</groupId>
                <artifactId>maven-apt-plugin</artifactId>
                <version>1.0</version>
            </plugin>

            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>build-helper-maven-plugin</artifactId>
                <version>1.9</version>
            </plugin>
        </plugins>
    </pluginManagement>
</build>

<distributionManagement>
    <repository>
        <id>dal</id>
               <url>http://nexus.mynexusserver.com/nexus/content/repositories/releases</url>
    </repository>
</distributionManagement>

<scm>
                       <connection>scm:svn:https://username@repo.mysvnserver.com/svn/tester</connection>
    <developerConnection>scm:svn:https://username@repo.mysvnserver.com/svn/tester</developerConnection>
      <url>https://repo.mysvnserver.com/usvn/project/tester/browser</url>
    <tag>tester</tag>
</scm>

下面是我的 settings.xml 文件:

 <?xml version="1.0" encoding="UTF-8"?>
 <settings >
  <localRepository>/home/joseph/.m2/repository</localRepository>
  <servers>
    <server>
        <username>username</username>
        <password>password</password>
        <id>nexus</id>
    </server>
<server>
        <username>username</username>
        <password>password</password>
        <id>dal</id>
    </server>
</servers>

<mirrors>
    <mirror>
        <!--This sends everything else to /public -->
        <id>nexus</id>
        <mirrorOf>central</mirrorOf>
        <url>http://nexus.mynexusserver.com/nexus/content/repositories/public/</url>
    </mirror>
</mirrors>
<profiles>
    <profile>
        <id>nexus</id>
        <!--Enable snapshots for the built in central repo to direct -->
        <!--all requests to nexus via the mirror -->
        <repositories>
            <repository>
                <id>central</id>
                <url>http://central</url>
                <releases>
                    <enabled>true</enabled>
                </releases>
                <snapshots>
                    <enabled>true</enabled>
                </snapshots>
            </repository>
    <repository>
                <id>dal</id>
                <url>http://nexus.mynexusserver.com/nexus/content/repositories/releases</url>
                <releases>
                    <enabled>true</enabled>
                </releases>
                <snapshots>
                    <enabled>true</enabled>
                </snapshots>
            </repository>
        </repositories>
        <pluginRepositories>
            <pluginRepository>
                <id>central</id>
                <url>http://central</url>
                <releases>
                    <enabled>true</enabled>
                </releases>
                <snapshots>
                    <enabled>true</enabled>
                </snapshots>
            </pluginRepository>
        </pluginRepositories>
    </profile>
</profiles>
<activeProfiles>
    <!--make the profile active all the time -->
    <activeProfile>nexus</activeProfile>
</activeProfiles>
</settings>

由于将输出放在这里可能太多了,请在 paste.ee 上找到它。

我更相信这要么是颠覆方面的配置问题,因为我觉得一切都还不错。谁能指出我遗漏的东西?

谢谢

您的 POM 的 SCM 部分看起来与项目的实际 SVN 分支或 trunk)无关。为了使发布插件的 SCM 链接部分正常工作,我想应该进行接近 what is described in the SCM plugin 的 SCM 配置。项目 POM SCM 信息应描述从何处获取与该确切项目版本相关的源代码,而不是根项目位置。

我想如果没有这个,SVN 可能会触发意外的授权问题,因为您实际上正在尝试访问您可能没有设置权限的 URL。