Pitest无法启动,因为非法重复

时间:2017-10-20 07:11:35

标签: java maven junit4 pitest

我刚刚在maven项目中配置了PiTest,添加了构建插件'org.pitest:pitest-maven:1.2.4',但是当我运行mvn编译org.pitest:pitest-maven:mutationCoverage或mvn org .pitest:pitest-maven:mutationCoverage甚至在开始使用此堆栈跟踪之前就失败了。 (mvn -X org.pitest:pitest-maven:mutationCoverage)

[ERROR] Failed to execute goal org.pitest:pitest-maven:1.1.11:mutationCoverage (default-cli) on project myMavenApplication: Execution default-cli of goal org.pitest:pitest-maven:1.1.11:mutationCoverage failed: Illegal repetition near index 2
[ERROR] ^\${test\.excludes}$
[ERROR] ^
[ERROR] -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.pitest:pitest-maven:1.1.11:mutationCoverage (default-cli) on project myMavenApplication: Execution default-cli of goal org.pitest:pitest-maven:1.1.11:mutationCoverage failed: Illegal repetition near index 2
^\${test\.excludes}$
  ^
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:212)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
        at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
        at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
        at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
        at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307)
        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193)
        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106)
        at org.apache.maven.cli.MavenCli.execute(MavenCli.java:863)
        at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288)
        at org.apache.maven.cli.MavenCli.main(MavenCli.java:199)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
        at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
        at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
        at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
Caused by: org.apache.maven.plugin.PluginExecutionException: Execution default-cli of goal org.pitest:pitest-maven:1.1.11:mutationCoverage failed: Illegal repetition near index 2
^\${test\.excludes}$
  ^
        at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:145)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:207)
        ... 20 more
Caused by: java.util.regex.PatternSyntaxException: Illegal repetition near index 2
^\${test\.excludes}$
  ^
        at java.util.regex.Pattern.error(Pattern.java:1955)
        at java.util.regex.Pattern.closure(Pattern.java:3157)
        at java.util.regex.Pattern.sequence(Pattern.java:2134)
        at java.util.regex.Pattern.expr(Pattern.java:1996)
        at java.util.regex.Pattern.compile(Pattern.java:1696)
        at java.util.regex.Pattern.<init>(Pattern.java:1351)
        at java.util.regex.Pattern.compile(Pattern.java:1028)
        at org.pitest.util.Glob.<init>(Glob.java:32)
        at org.pitest.maven.SurefireConfigConverter$1.apply(SurefireConfigConverter.java:63)
        at org.pitest.maven.SurefireConfigConverter$1.apply(SurefireConfigConverter.java:60)
        at org.pitest.functional.FCollection.mapTo(FCollection.java:40)
        at org.pitest.functional.FCollection.map(FCollection.java:48)
        at org.pitest.maven.SurefireConfigConverter.convertExcludes(SurefireConfigConverter.java:53)
        at org.pitest.maven.SurefireConfigConverter.update(SurefireConfigConverter.java:25)
        at org.pitest.maven.MojoToReportOptionsConverter.updateFromSurefire(MojoToReportOptionsConverter.java:183)
        at org.pitest.maven.MojoToReportOptionsConverter.convert(MojoToReportOptionsConverter.java:79)
        at org.pitest.maven.AbstractPitMojo.analyse(AbstractPitMojo.java:403)
        at org.pitest.maven.AbstractPitMojo.execute(AbstractPitMojo.java:348)
        at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134)
        ... 21 more

1 个答案:

答案 0 :(得分:0)

解决:问题在于pom的一个点是使用了一个属性($ {test.excludes})而不是pom的声明