【问题标题】:Cannot assign configuration entry 'tags' with value '"~@ignored"' of type java.lang.String to property of type java.util.List -> [Help 1]无法将 java.lang.String 类型的值为 '"~@ignored"' 的配置条目 'tags' 分配给 java.util.List 类型的属性 -> [帮助 1]
【发布时间】:2019-05-03 06:41:48
【问题描述】:

我有一个自动化测试脚本,它运行良好的 Jenkins Master 但在从属设备上它给出了以下错误:

11:47:50 [ERROR] Failed to execute goal com.github.temyers:cucumber-jvm-parallel-plugin:4.2.0:generateRunners (generateRunners) on project riverbed-automation-tests: Unable to parse configuration of mojo com.github.temyers:cucumber-jvm-parallel-plugin:4.2.0:generateRunners for parameter tags: Cannot assign configuration entry 'tags' with value '"~@ignored"' of type java.lang.String to property of type java.util.List -> [Help 1]
11:47:50 org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal com.github.temyers:cucumber-jvm-parallel-plugin:4.2.0:generateRunners (generateRunners) on project riverbed-automation-tests: Unable to parse configuration of mojo com.github.temyers:cucumber-jvm-parallel-plugin:4.2.0:generateRunners for parameter tags: Cannot assign configuration entry 'tags' with value '"~@ignored"' of type java.lang.String to property of type java.util.List
11:47:50    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:221)
11:47:50    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
11:47:50    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
11:47:50    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
11:47:50    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
11:47:50    at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
11:47:50    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
11:47:50    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320)
11:47:50    at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
11:47:50    at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537)
11:47:50    at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196)
11:47:50    at org.apache.maven.cli.MavenCli.main(MavenCli.java:141)
11:47:50    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
11:47:50    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
11:47:50    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
11:47:50    at java.lang.reflect.Method.invoke(Method.java:498)
11:47:50    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290)
11:47:50    at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)
11:47:50    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:414)
11:47:50    at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:357)

这个Cucumber java junit 项目与Serenity。 master 和 slave 之间的唯一区别是 Xvfb(无头浏览器)在 Master 上工作,但不在 Slave 上,但由于它看起来是 Maven 或 Cucumber 错误,我怀疑 Xvfb 与它有什么关系。

我做错了什么?

【问题讨论】:

  • 你应该在你的帖子中添加一些更具体的标签,“java”和“maven”太宽泛了。此外,我认为您应该发布更多配置文件。
  • 完成。你说的配置文件是什么意思?我猜,我没有。
  • 对不起,我对Cucumber一无所知,反正错误信息好像说你设置了一个“配置条目'tags'”的方式错误。
  • 是的,我什至没有使用这个标签~@ignored。没关系,感谢您的努力。

标签: java maven jenkins cucumber cucumber-jvm


【解决方案1】:

检查https://github.com/temyers/cucumber-jvm-parallel-plugin 有说明:

从 cucumber-jvm:4.0.0 开始,并行执行由本机支持 黄瓜。因此,建议升级到 Cucumber 4.0.0,这 插件不再维护。

所以考虑离开 cucumber-jvm-parallel-plugin

看起来你的pom.xml 中有类似的东西

<tags>"~@ignore"</tags>

试着改成

    <tags>
      <tag>~@ignore</tag>
    </tags>

顺便说一句,正确的新样式现在是not @ignore 检查https://github.com/cucumber/cucumber/tree/master/tag-expressions#migrating-from-old-style-tags

【讨论】:

  • 我将它作为&lt;tags&gt;"~@ignore"&lt;/tags&gt; 现在我将其更改为您的建议,但仍然存在同样的问题。我没有得到not @ignore在pom中怎么写,是不是像&lt;tags&gt; &lt;tag&gt;not @ignore&lt;/tag&gt; &lt;/tags&gt; ??
  • 对您来说最简单的方法可能是删除整个&lt;tags&gt;...&lt;/tags&gt; 部分。这 ~@ignore 只是告诉 cucumber 运行所有未标记为忽略的场景。您可以在命令行中指定。
【解决方案2】:

问题是maven版本

maven 3.3.9 及更高版本支持以下列表/集合格式,但在较低版本中不支持。

<tags>val1,val2,val3...</tags>

但在低于3.3.9的maven版本中,不支持以上

修复使其向后兼容

<tags>
    <tag>val1</tag>
    <tag>val2</tag>
    .....
</tags>

PS:更多详情请查看this链接

【讨论】:

    猜你喜欢
    • 2020-05-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-28
    • 2021-06-13
    • 2021-04-30
    • 2019-12-03
    相关资源
    最近更新 更多