pom.xml:无法识别的标签:' soapuiProperties'

时间:2016-07-21 16:42:27

标签: java maven soapui pom.xml

我在Eclipse的Maven项目中使用Cucumber来启动SoapUI。

从Eclipse内部运行时,我的POM.xml文件运行良好,测试完成且没有错误。

然而,当我从命令行启动" mvn test"我收到这个错误:

pom.xml:无法识别的标签:' soapuiProperties' (位置:START_TAG见过...... \ r \ n \ r \ n ..

这是POM.xml

<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>Project_name</groupId>
  <artifactId>Project_name</artifactId>
  <version>0.0.1-SNAPSHOT</version>  
    <parent>
        <groupId>com.smartbear</groupId>
        <artifactId>ready-api</artifactId>
        <version>1.7.0</version>
    </parent>
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    </properties>
    <repositories>
        <repository>
            <id>SmartBearPluginRepository</id>
            <url>http://www.soapui.org/repository/maven2/</url>
        </repository>
        <repository>
            <id>maven2-repository.java.net</id>
            <name>Java.net Repository for Maven</name>
            <url>http://java.net/projects/maven-repository/</url>
            <layout>default</layout>
        </repository>
    </repositories>
    <!--Adding SoapUI Maven plugin-->
    <pluginRepositories>
        <pluginRepository>
            <id>SmartBearPluginRepository</id>
            <url>http://www.soapui.org/repository/maven2/</url>
                <soapuiProperties>
                    <property>
                         <name>soapui.home</name>
                         <value>C:\Program Files\SmartBear\ReadyAPI\bin</value>
                    </property>
                </soapuiProperties>
        </pluginRepository>
    </pluginRepositories>    

    <build>
    <sourceDirectory>src</sourceDirectory>        
    <plugins>
            <plugin>
                <artifactId>maven-install-plugin</artifactId>
                <version>2.3</version>
                <configuration>
                    <createChecksum>true</createChecksum>
                    <updateReleaseInfo>true</updateReleaseInfo>
                    <tasks>
                        <copy file="pom.xml"
                              tofile="${project.build.directory}/ready-api-maven-plugin-${project.version}.pom"/>
                    </tasks>
                </configuration>
            </plugin>            
            <plugin>
                <artifactId>maven-assembly-plugin</artifactId>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>single</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <outputDirectory>${assembly.build.directory}</outputDirectory>
                    <descriptors>
                        <descriptor>src/main/assembly/public-pom.xml</descriptor>
                    </descriptors>
                </configuration>
            </plugin>
          <plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.5.1</version>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
            </configuration>
        </plugin>         
    </plugins>
    </build>
    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>info.cukes</groupId>
            <artifactId>cucumber-junit</artifactId>
            <version>1.2.2</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>info.cukes</groupId>
            <artifactId>cucumber-java</artifactId>
            <version>1.2.2</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>com.smartbear.soapui</groupId>
            <artifactId>soapui</artifactId>
            <version>5.2.1</version>
            <scope>compile</scope>
            <!--  <executions>
                <execution>
                    <phase>test
                    </phase>
                    <goals>
                        <goal>test
                        </goal>
                    </goals>
                    <configuration>
                        <projectFile>C:\\Users\\charles\\test-automation\\Soapui\\Project_name-REST-soapui-project.xml</projectFile>
                    </configuration>
                </execution>
            </executions> -->
        </dependency> 
        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-java</artifactId>
            <version>2.53.1</version>
        </dependency>  
  </dependencies>
</project>

知道我需要如何修复POM吗?我尝试将SoapUIproperties块移入和移出pluginrepsositories块,但结果是一样的。

2 个答案:

答案 0 :(得分:0)

soapuiProperties不是pluginRepository元素的有效子级。

pluginRepositories部分声明maven将尝试从哪里找到和下载插件。

您似乎没有使用SoapUI插件,因此您可以删除pluginRepositories部分。

soapuiProperties的位置表明测试未使用它,因此您可以将其删除。

答案 1 :(得分:0)

错误

  

pom.xml:无法识别的标签:'soapuiProperties'(位置:START_TAG见过...... \ r \ n \ r \ n ..

表示您的POM文件格式错误(pom.xml)。换句话说,您已将soapuiProperties标记放在错误的位置。

您需要将soapuiProperties移至build/plugins/plugin/configuration soapui-maven-plugin。所以这里是pom.xml应该如何正确的片段:

<pluginRepositories>
    <pluginRepository>
        <id>smartbear-sweden-plugin-repository</id>
        <url>http://www.soapui.org/repository/maven2/</url>
    </pluginRepository>
</pluginRepositories>

<build>
    <plugins>
        <plugin>
            <groupId>com.smartbear.soapui</groupId>
            <artifactId>soapui-maven-plugin</artifactId>
            <version>5.2.1</version>
            <configuration>
                <projectFile>soapui-tests.xml</projectFile>                    
                <soapuiProperties>
                    <property>
                        <name>soapui.logroot</name>
                        <value>${project.build.directory}/soapui-logs/</value>
                    </property>
                </soapuiProperties>
            </configuration>                
        </plugin>
    </plugins>