项目构建错误:不可解析的父POM:使用RAD 9.1

时间:2016-10-18 19:43:02

标签: java xml eclipse maven

我正在使用RAD 9.1并拥有一个具有EAR和WAR项目的maven项目。 EAR文件中的pom.xml给出了如下错误。

项目构建错误:不可解析的父POM:无法传输工件com.CNSBCB:MemberBillingPayment:pom:$ {release.version} from / to apache-snapshots(http://repository.apache.org/snapshots/):路径中的非法字符索引72:http://repository.apache.org/snapshots/com/cnsbcb/MemberBillingPayment/ $ {release.version} / MemberBillingPayment - $ {release.version} .pom和'parent.relativePath'指向错误的本地POM

这就是我的pom.xml: http://maven.apache.org/xsd/maven-4.0.0.xsd">     4.0.0     MemberBillingPaymentEAR     耳

<parent>
    <groupId>com.CNSBCB</groupId>
    <artifactId>MemberBillingPayment</artifactId>
    <version>${release.version}</version>
    <relativePath>../pom.xml</relativePath>
</parent>


<build>
<pluginManagement>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-antrun-plugin</artifactId>
            <version>1.8</version>
            <executions>
                <execution>
                    <id>default-cli</id>
                    <phase>compile</phase>
                    <goals>
                        <goal>run</goal>
                    </goals>
                    <configuration>
                        <target>
                            <echo>Creating aatprop file: </echo>
                            <echo file="${basedir}\src\main\application\${aatp.v}.aatprop"> ${aatp.v} </echo> 
                        </target>
                    </configuration>
                </execution>
            </executions>
        </plugin>    
        <plugin>
            <artifactId>maven-ear-plugin</artifactId>
            <version>2.7</version>
            <configuration>
                <version>1.4</version>
                <modules>
                    <webModule>
                        <groupId>com.CNSBCB</groupId>
                        <artifactId>MemberBillingPaymentWAR</artifactId>
                        <bundleFileName>MemberBillingPaymentWAR.war</bundleFileName>
                        <contextRoot>/MemberBillingPaymentWeb</contextRoot>
                    </webModule>
                </modules>
                <displayName>MemberBillingPaymentEAR.ear</displayName>
                <generateApplicationXml>true</generateApplicationXml>
                <!--<applicationXml>MemberBillingPaymentEAR/src/main/application/META-INF/application.xml</applicationXml>-->
            </configuration>
        </plugin>
    </plugins>
</pluginManagement>
</build>

<dependencies>
    <dependency>
        <groupId>com.CNSBCB</groupId>
        <artifactId>MemberBillingPaymentWAR</artifactId>
        <version>${release.version}</version>
        <type>war</type>
    </dependency>
</dependencies>

<distributionManagement>
    <repository>
        <id>CNSBCB</id>
        <url>http://nexus.CNSBCB.com/content/repositories/CNSBCB</url>
    </repository>
</distributionManagement>

MemberBillingPaymentEAR和MemberBillingPaymentWAR是我拥有的项目的名称。请帮帮我。

1 个答案:

答案 0 :(得分:1)

问题在于下面一段代码中的<version>标记

<parent>
    <groupId>com.CNSBCB</groupId>
    <artifactId>MemberBillingPayment</artifactId>
    <version>${release.version}</version>
    <relativePath>../pom.xml</relativePath>
</parent>

在你的pom中,你没有声明一个名为release.version的变量/属性。因此,它无法解析/继承父工件 要修复它,请指定有效版本(例如:1.1.0),而不是在${release.version}标记中指定<version>