- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我一直在使用 eclipse 和 maven 学习关于 JavaEE 的 PluralSight 类(class)。我目前正在尝试编写一些测试,但是在运行 mvn package
时从命令行我收到此错误:
Execution default-test of goal org.apache.maven.plugins:maven-surefire-plugin:2.19.1:test failed: There was an error in the forked process
有时指的是:
java.lang.NoClassDefFoundError: org/junit/runner/notification/RunListener
有时:
java.lang.NoClassDefFoundError: org/junit/runner/Description
我已经阅读了一些内容,并且 RunListener 似乎已在 JUnit 4.0 中引入。但据我所知,我有正确的依赖关系 - JUnit 4.12 在我的依赖关系层次结构中。现在,我已将所有文件更改为练习文件,以便解决此问题。
我猜测也许我从根本上误解了 Maven 和依赖项的工作方式、RE jar 和类路径,并且我仍然需要将 Eclipse 或 cmd 行指向 JUnit jar? (我在两者中都遇到相同的错误)。鉴于我的 java 对象中可以识别其他 JUnit 类,我只是觉得这很奇怪。无论如何,这是我的(pluralsight)pom:
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"
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>com.pluralsight.javaee-getting-started.javaee-getting-started-m6</groupId>
<artifactId>bookstore-back</artifactId>
<version>1.0</version>
<packaging>war</packaging>
<name>Getting Started :: javaee-getting-started-m6 :: Testing the Repository :: Back</name>
<properties>
<endorsed.dir>${project.build.directory}/endorsed</endorsed.dir>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<!-- Test -->
<version.junit>4.12</version.junit>
<version.arquillian>1.1.13.5</version.arquillian>
<version.arquillian.wildfly>2.0.2.Final</version.arquillian.wildfly>
<version.shrinkwrap>1.2.6</version.shrinkwrap>
<!-- Plugins -->
<version.surefire.plugin>2.19.1</version.surefire.plugin>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.arquillian</groupId>
<artifactId>arquillian-universe</artifactId>
<version>${version.arquillian}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-web-api</artifactId>
<version>7.0</version>
<scope>provided</scope>
</dependency>
<!-- TEST -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>${version.junit}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.arquillian.universe</groupId>
<artifactId>arquillian-junit</artifactId>
<scope>test</scope>
<type>pom</type>
</dependency>
<dependency>
<groupId>org.jboss.shrinkwrap</groupId>
<artifactId>shrinkwrap-api</artifactId>
<version>${version.shrinkwrap}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.wildfly.arquillian</groupId>
<artifactId>wildfly-arquillian-container-remote</artifactId>
<version>${version.arquillian.wildfly}</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<finalName>bookstore-back</finalName>
<plugins>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>${version.surefire.plugin}</version>
<configuration>
<systemPropertyVariables>
<arquillian.launch>arquillian-wildfly-remote</arquillian.launch>
</systemPropertyVariables>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<compilerArguments>
<endorseddirs>${endorsed.dir}</endorseddirs>
</compilerArguments>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.3</version>
<configuration>
<failOnMissingWebXml>false</failOnMissingWebXml>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.6</version>
<executions>
<execution>
<phase>validate</phase>
<goals>
<goal>copy</goal>
</goals>
<configuration>
<outputDirectory>${endorsed.dir}</outputDirectory>
<silent>true</silent>
<artifactItems>
<artifactItem>
<groupId>javax</groupId>
<artifactId>javaee-endorsed-api</artifactId>
<version>7.0</version>
<type>jar</type>
</artifactItem>
</artifactItems>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>3.0.0</version>
<configuration>
<descriptorRefs>
<descriptorRef>src</descriptorRef>
</descriptorRefs>
</configuration>
</plugin>
</plugins>
</build>
</project>
我的类路径想法是否走在正确的轨道上?
最佳答案
删除 Maven 存储其依赖项的 .m2 文件夹,然后进行另一个构建。有时 jar 文件会损坏(例如,Junit jar 文件可能会损坏,这可以解释为什么它找不到类)。
关于java - NoClassDefFoundError - RunListener : Maven-surefire/JUnit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47679324/
最近我将 surefire 插件从 2.15 迁移到 3.0.0-M5,即使所有测试用例都通过了,我仍然看到下面的错误。我在生成的报告中没有看到任何内容,只是一个空文件。 Google 和 stack
我无法获得 maven-surefire-report-plugin 生成 surefire-report.html 当我运行时: mvn clean deploy site mvn clean si
我的 pom.xml 中没有 surefire 插件条目。但是当我使用命令运行时,我得到了 surefure 插件错误: mvn test -Dtest=TEstClass 错误: [ERROR]
我有一个简单的 JPMS 模块。当我使用 maven-surefire-plugin 2.20.1 时一切正常 - 我的测试已执行: org.apache.m
运行 Spring Boot 2.0.2.RELEASE 应用程序的 maven (3.5.2) 构建(由具有 Web 依赖项的 Web 初始化程序生成)无法执行 maven-surefire-p
我试图通过嵌入式jetty服务器和apache wink REST客户端在我的scim Restful服务器实现上运行集成测试,但未能运行测试。这是我的 EmbeddedServerBase 类 pa
所以我遇到了问题,我正在按照教程 Working with Custom Content types in Alfresco 进行操作但当我尝试安装该程序时遇到 Maven 问题。它告诉我 Maven
在我的项目中,测试位于两个目录中的 maven 包“java-tests-framework”(整个项目的子包)中: /src/main/java /src/test/java 我想使用 Surefi
所以我遇到了问题,我正在按照教程 Working with Custom Content types in Alfresco 进行操作但当我尝试安装该程序时遇到 Maven 问题。它告诉我 Maven
您好,我在一个项目中有一个模块,我正在尝试从模块目录运行该模块: mvn 集成测试-PmyProps 在pom中 admin ...
当我在 Surefire 中运行测试时,有什么区别 suitesAndClasses 和 classes 第一个示例似乎并行运行我的测试类,而第二个示例则不然。 最佳答案 请在下面找到一个简单的示例来
我怀疑这很简单,当我直接从 eclipse 执行 JUnit 测试时,surefire 报告没有生成,甚至文件夹 (target/surefire/surefire-report) 也没有生成,但是当
我已经使用 Maven 配置了 Surefire 报告 我没有收到任何错误,但我也没有得到测试执行的结果当作为 Maven 测试运行时。我已附上屏幕截图。我也有正确的 Maven 项目结构 作为 Ma
我想重新运行一个我知道会失败的测试,因为我正在尝试测试 Surefire 参数以重新运行失败的测试。我尝试用这两个命令运行 Maven,它们都没有按预期工作 -Dsurefire.rerunFaili
看起来surefire 和failsafe 插件按顺序执行测试类,而在类中定义的测试以不确定的顺序执行。 为了发现依赖于顺序的测试(我们认为是糟糕的测试),我们希望强制每次运行的顺序不同。理想情况下,
有没有办法让万无一失的干运行? 会列出哪些测试的东西 会 运行,而不运行它们。 目标是知道在特定配置下哪些测试(将)在 JBoss AS7 测试套件中运行。 最佳答案 Janinko 在 https:
在我的项目中,我有几个模块。当我使用 surefire maven 插件生成报告时,它会分别为每个模块创建报告。我想合并这些报告。有没有办法合并这个单独的报告。 Surefire 插件中的任何配置?
我如何在 maven 的默认生命周期中生成 surefire 报告。我们在 teamcity 中设置了工作,目标为 mvn clean install -Pprod 此作业运行所有 junits,我想
我正在运行 Maven 3.1.0 Surefire plugin 已经与 --quiet选项,但是它仍然将单元测试的结果打印到命令行,即使它们都通过了。 有没有办法让它只打印失败? 如果一切正常,我
我排除了插件中除我的测试套件之外的所有测试: org.apache.maven.plugins maven-surefire-plugin 2.11
我是一名优秀的程序员,十分优秀!