我一直在敲打我的脑袋已经有一段时间了,我实际上已经在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方面的配置问题,因为事情对我来说相当不错。谁能指出我失踪的东西?
由于
答案 0 :(得分:1)
POM的SCM部分看起来与项目的实际SVN分支(或trun k)无关。为了使发布插件的SCM链接部分正常工作,我想应该更接近what is described in the SCM plugin的SCM配置。项目POM SCM信息应描述获取与确切项目版本相关的源代码的位置,而不是根项目位置。
我想如果没有这个,SVN可能会触发意外的授权问题,因为您实际上是在尝试访问可能没有设置权限的URL。