Maven发布过程一直失败:svn:E175013:访问' / svn / tester /!svn / bc / 170'被禁止

时间:2015-01-20 08:47:52

标签: maven svn maven-release-plugin

我一直在敲打我的脑袋已经有一段时间了,我实际上已经在stackoverflow上学到了很多这个问题,我非常确定我已经介绍了一些常见的错误(此外,我已经用bitbucket和github完成了几个版本)主演我。但我仍然无法释放任何东西。我觉得是时候大声呼救了一下:)

我使用由usvn管理的自托管subversion和一个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上找到。

我更相信这是subversion方面的配置问题,因为事情对我来说相当不错。谁能指出我失踪的东西?

由于

1 个答案:

答案 0 :(得分:1)

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

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