当前位置: 首页 > 知识库问答 >
问题:

maven 3 surefire和maven gwt排除/包括问题

丌官嘉勋
2023-03-14

我有一个配置了maven-surefire插件的根pom和一个配置了gwt-maven-plugin的gwt模块pom。升级到Maven 3后,我遇到了奇怪的错误。

该项目类似于此处描述的配置:将GwtTest测试与标准单元测试分开

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-surefire-plugin</artifactId>
  <version>2.6</version>
  <configuration>
    <useSystemClassLoader>true</useSystemClassLoader>
    <useManifestOnlyJar>false</useManifestOnlyJar>
    <forkMode>always</forkMode>
    <properties>
      <property>
        <name>usedefaultlisteners</name>
        <value>false</value>
      </property>
      <property>
        <name>listener</name>
        <value>org.uncommons.reportng.HTMLReporter,org.uncommons.reportng.JUnitXMLReporter</value>
      </property>
    </properties>
    <argLine>-server -Xmx8192m -XX:MaxPermSize=1024M -XX:+CMSClassUnloadingEnabled</argLine>
    <excludes>
      <exclude>**/*GwtTest*.java</exclude>
    </excludes>
  </configuration>
</plugin>

<plugin>
  <groupId>org.codehaus.mojo</groupId>
  <artifactId>gwt-maven-plugin</artifactId>
  <version>2.5.0</version>
  <dependencies>
    <dependency>
      <groupId>com.google.gwt</groupId>
      <artifactId>gwt-user</artifactId>
      <version>${gwt.version}</version>
    </dependency>
  </dependencies>
  <configuration>
  <modules>
    <module>my.app.gwt</module>
  </modules>
  <runTarget>/</runTarget>
  <extraJvmArgs>-Xss512m -Xmx2048m -XX:MaxPermSize=256M</extraJvmArgs>
  <hostedWebapp>${project.build.directory}/${project.build.finalName}</hostedWebapp>
  <includes>**/*GwtTestSuite.java</includes>
  <copyWebapp>true</copyWebapp>
  <logLevel>INFO</logLevel>
  <persistentunitcache>false</persistentunitcache>
  <draftCompile>${gwt.draftCompile}</draftCompile>
  <deploy>${project.build.directory}/${project.build.finalName}/WEB-INF/deploy</deploy>
  <disableCastChecking>true</disableCastChecking> 
  <mode>htmlunit</mode>
  <skipTests>${skipGwtTests}</skipTests></configuration>
  <executions>
    <execution>
      <id>gwt-compile</id>
      <goals>
        <goal>compile</goal>
      </goals>
      <phase>compile</phase>
    </execution>
    <execution>
      <id>gwt-test</id>
      <goals>
        <goal>compile</goal>
        <goal>test</goal>
      </goals>
      <phase>test</phase>
    </execution>
  </executions>
</plugin>

它适用于maven 2,但与maven 3我得到:

[ERROR] Failed to execute goal org.codehaus.mojo:gwt-maven-plugin:2.5.0:test (gwt-test) on project my-webapp: Unable to parse configuration of mojo org.codehaus.mojo:gwt-maven-plugin:2.5.0:test: When configuring a basic element the configuration cannot contain any child elements. Configuration element 'excludes'. -> [Help 1]

gwt插件似乎无法解析surefire插件的层次结构样式。

只有当我将gwt插件中的所有排除/包括设置为一个逗号分隔的字符串行时,它才会编译,但这对我不起作用,因为我需要全局排除gwt测试,并在本地包含它们。

但是,include/exclude部分被合并,因此这两个不兼容的语法定义不能一起工作。

我希望有人能给我一个提示。

共有1个答案

薛涛
2023-03-14

您可以直接使用Maven Surefire运行您的GWTTestCase,请参阅此链接。

 类似资料:
  • 假设我只希望在生成的equals和hashCode实现中包含一个或两个字段(或者排除一个或多个字段)。对于简单类,例如: Groovy有以下特点: 龙目岛有: 静态编程语言中这样做的惯用方法是什么? 只是感觉不对。。。我真的不希望是可变的,而且额外的构造函数定义很难看。

  • 问题内容: 我在正确设置rsync语法时遇到问题,并且想知道我的场景是否可以实际使用rsync处理。首先,我已经确认rsync在本地主机和远程主机之间运行良好。在目录上进行直接同步成功。 我的文件系统如下所示: 我想做的是仅在子目录中以“ file_11_”开头的文件上运行rsync,并且我希望能够仅运行一个rsync作业来同步子目录中的所有这些文件。 这是我正在尝试的命令: 这导致0个文件在我的

  • 将属性包含到模型中意味着 EF 将获得该属性的元数据,并且将尝试从数据库读取该属性的值或将该属性的值写入到数据库。 惯例 按照惯例,具有 getter 和 setter 访问器的公共(public)属性将被包含在模型中。 数据注解 可以使用数据注解将属性从模型中排除。 public class Blog { public int BlogId { get; set; } publi

  • 将类型包含到模型中意味着 EF 将获得该类型的元数据,并且将尝试从数据库读取该类型的实例或将该类型的实例写入到数据库。 惯例 按照惯例,在上下文中通过 DbSet 属性暴露的类型都将包含在模型中。另外,在 OnModelCreating 方法中提及的类型也会被包含在模型中。最后,通过递归扫描已包含(在模型中的)类型的导航属性所找到的任何类型都将包含在模型中。 比如,以下代码列出的三个类型都已包含在

  • 问题内容: 为什么在JSP中,我们将属性名称写为include指令中的 文件 ,但写为 页面 标准操作? 问题答案: 将内联的源代码插入您的页面,然后整个内容将作为一个JSP进行评估。这是在JSP编译时完成的。容器可以对此进行高度优化,并可能产生副作用。例如,如果更改的内容,则容器通常不会重新编译包含它的JSP。 >将作为单独的JSP 执行,然后将该执行的输出包含到您的页面中。这是在JSP执行时完

  • 问题内容: 一些HTML 1关闭标记是 可选的 ,即: 注意: 不要与 禁止 包含的结束标记混淆,即: 注意: 与HTML不同。xhtml是xml的一种形式,它要求 每个 元素都有一个结束标记。可以在html中 禁止 使用结束标记,而在中则 必须 使用。 是可选的结束标记 理想情况下 包括在内 ,但如果您忘记了它们,我们将接受它们,或者 理想情况下 不 包括在内,但如果您将它们放入,我们会接受 换