在发布此问题之前,我已经阅读了大量文章和SO帖子。我创建了2个maven配置文件,每个环境一个。当我通过eclipse运行我的pom.xml时,运行方式> Maven测试,测试执行。但是当我通过Run Configuration执行它时,为此,我创建了一个名为" Test Project"的运行配置。将maven目标设定为" test"和配置文件设置为" staging",执行正在抛出
分叉过程中出错 [错误] com / beust / jcommander / ParameterException:不支持的major.minor版本52.0 [错误] org.apache.maven.surefire.booter.SurefireBooterForkException:分叉进程中出错 [错误] com / beust / jcommander / ParameterException:不支持的major.minor版本52.0
如果它是java版本问题,那么当我执行Run As>时它不应该执行。 Maven测试。
这是我的pom.xml
http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0
<groupId>com.sample</groupId>
<artifactId>TestProject</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>TestProject</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<profiles>
<profile>
<id>staging</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.20</version>
<configuration>
<suiteXmlFiles>
<suiteXmlFile>testng.xml</suiteXmlFile>
</suiteXmlFiles>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>prod</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.20</version>
<configuration>
<suiteXmlFiles>
<suiteXmlFile>testng2.xml</suiteXmlFile>
</suiteXmlFiles>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>
<dependencies>
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>6.11</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.uncommons/reportng -->
<dependency>
<groupId>org.uncommons</groupId>
<artifactId>reportng</artifactId>
<version>1.1.4</version>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
除参数值外,testng.xml和testng2.xml都相似。 这是我的testng.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite verbose="0" name="Test Project suite">
<parameter name="env" value="staging" />
<test name="Test Project sample tests">
<classes>
<class name="com.sample.TestProject.AppTest" />
</classes>
</test>
</suite>
答案 0 :(得分:0)
请添加如下所示的属性,然后重试。
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
这会导致JDK版本需要设置为1.8。如果您不提供此功能,那么默认情况下,Maven会采用1.5兼容的方式。
当您通过命令行运行时(使用mvn test
),这将是必需的。错误是这个问题的重复。
当你执行Run as > maven test
时,我猜你的IDE提供的JDK生效了(我没有办法在技术上证实这个理论)。