2014-10-16 67 views
0

我有一个多模块行家项目 的POMS的结构工作区/父母,工作空间/ child1,工作空间/的child2 并在svn存储库我有一个存储库为所有这些 时释放:准备执行,没有任何问题,但是当释放:执行执行,就会出现此错误多模块行家释放

[错误]未能执行目标 org.apache.maven.plugins:行家释放小插件:2.3.2:执行 (default-cli)对项目退伍军人:执行Maven时出错。工作 目录 “D:\ java \ myeclipse-workspace \ veterans \ target \ checkout \ veterans”does does not exist! - > [求助1] org.apache.maven.lifecycle.LifecycleExecutionException:无法 执行目标 org.apache.maven.plugins:行家释放小插件:2.3.2:执行 (默认CLI)项目退伍军人:执行Maven时出错。

我认为这个问题是从库中检出,因为在目标文件夹结帐后我们有主干,标签,分支,但我认为我们必须有父母,child1,CHILD2

等问题,为什么当maven-release标记快照时,它会将存储库结构标记为svn存储库标记? 发布后:我们准备在svnrepository /标签/亲子1.0.0 树干,树枝,标签这是我的父POM:

<?xml version="1.0" encoding="UTF-8"?> 
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>com.dpj</groupId> 
    <artifactId>veterans</artifactId> 
    <version>1.0.1-SNAPSHOT</version> 
    <packaging>pom</packaging> 
    <scm> 
     <connection>scm:svn:http://192.168.1.10:7075/svn/veterans/trunk</connection> 
     <developerConnection>scm:svn:http://192.168.1.10:7075/svn/veterans/trunk</developerConnection> 
     <url>http://192.168.1.10:7075/svn/veterans</url> 
    </scm> 
    <properties> 
     <jdk.version>1.7</jdk.version>  
     <maven.build.timestamp.format>yyyy-MM-dd</maven.build.timestamp.format> 
     <packname>-${project.version}-FL-${maven.build.timestamp}</packname> 
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
    </properties> 
    <modules> 
     <module>../veterans-presentation</module> 
     <module>../veterans-service</module> 
    </modules> 
    <distributionManagement> 
     <repository> 
      <id>dpj-artifactory-releases</id> 
      <name>dpj-artifactory-releases</name> 
      <url>http://192.168.1.10:8082/artifactory/ext-release-local</url> 
     </repository> 
     <snapshotRepository> 
      <id>dpj-artifactory-snapshots</id> 
      <name>dpj-artifactory-snapshots</name> 
      <url>http://192.168.1.10:8082/artifactory/ext-snapshot-local</url> 
     </snapshotRepository> 
    </distributionManagement> 
    <build> 
     <pluginManagement> 
      <plugins> 
       <plugin> 
        <groupId>org.apache.maven.plugins</groupId> 
        <artifactId>maven-scm-plugin</artifactId> 
        <version>1.9.2</version> 
       </plugin> 
      </plugins> 
     </pluginManagement> 
     <plugins> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-release-plugin</artifactId> 
       <version>2.3.2</version> 
       <configuration> 
        <tagBase>http://192.168.1.10:7075/svn/veterans/tags/</tagBase> 
        <tagNameFormat>@{project.artifactId}[email protected]{project.version}</tagNameFormat>          
       </configuration> 
      </plugin> 
     </plugins> 
    </build> 

</project> 
+1

你是否尝试过更新版本的mvn-release-plugin? (2.5) – OhadR 2014-10-16 20:05:31

+0

http://stackoverflow.com/questions/2804294/maven-release-plugin-perform-fails-with-working-directory-workspace-target – OhadR 2014-10-16 20:17:15

+1

我曾经习惯于2.5.1,并在插件中覆盖它,但是错误已存在。 我建议大问题是在标签。当它准备项目时,它会标记存储库并将其(标签,分支,中继)复制到标签。 – 2014-10-17 13:02:29

回答

1

我在连接的末尾添加项目名称解决我的问题, developerConnection。好像 插件想要添加到标签时,它会将签出设置为父文件夹。所以我在trunk之后添加了项目库的地址和文件夹名称。

<connection>scm:svn:http://reposotpry:7075/svn/veterans/trunk/veterans/</connection> 
<developerConnection>scm:svn:http://reposotpry:7075/svn/veterans/trunk/veterans/</developerConnection> 

及其固定。

+0

您可以接受您的答案,以表明问题已回答。 – 2014-10-17 18:30:40

+0

感谢Geri Broser,当我接受答案时说它可以在8小时内接受你的答案。 :( – 2014-10-18 10:51:02