使用maven-failsafe-plugin spring-boot 1.4进行集成测试时出现TypeNotPresentExceptionProxy错误

时间:2016-08-02 16:52:51

标签: spring-boot integration-testing maven-failsafe-plugin

使用maven-failsafe-plugin和spring-boot 1.4运行集成测试时,我收到 ArrayStoreException TypeNotPresentExceptionProxy

如果您使用

运行joinfaces-example,则会看到此错误

mvn -Pattach-integration-test clean install

我意识到如果我将spring-boot-maven-plugin更改为 pre-integration-test 阶段而不是 package 阶段,则不会发生错误。< / p>

此外,当我将spring boot升级到1.4时,会出现此错误。如果我将jsf-spring-boot-parent版本更改为使用spring boot 1.3版本的2.0.0,则不会发生错误。

2 个答案:

答案 0 :(得分:13)

我实际上在Spring Boot 1.4 release notes找到了答案,简短的回答是maven-failsafe-plugin与Spring Boot 1.4的新可执行文件布局不兼容。完整说明如下:

  

Failsafe 2.19开始,target/classes不再位于类路径上   而是使用项目的构建jar。该插件将无法执行   由于可执行jar布局的更改而找到您的类。   有两种方法可以解决此问题:

     
      
  • 降级为2.18.1,以便您使用目标/类

  •   
  • 配置spring-boot-maven-plugin以使用分类器   repackage目标。这样,原始罐子将可用并使用   通过插件。例如:

  •   
<plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <configuration>
        <classifier>exec</classifier>
    </configuration> 
</plugin>

答案 1 :(得分:0)

此处记录了另一种选择:https://github.com/spring-projects/spring-boot/issues/6254

<div id="page">
  <div id="header">
    <div id="title">
      <h1>TITLE very very very very long TILTE</h1>
      <div id="card">Donec at blandit metus, at ullamcorper urna. Morbi ut ante id tortor tincidunt molestie eu et libero. Sed vel commodo mi. Aenean justo sem, varius et leo a, finibus aliquam magna. Aenean nec erat sit amet enim ultricies dignissim. Proin quis nulla
        in eros elementum facilisis at at ante. Nullam id facilisis mauris, pharetra sodales dui. Fusce lacinia odio accumsan lectus efficitur condimentum. Vestibulum porta ut nulla eget elementum. Integer gravida felis vitae pellentesque gravida. Vestibulum
        molestie, lorem quis suscipit rutrum, ex tortor luctus lectus, eu vulputate sapien nibh vel sem. Nunc vel pretium nulla.

      </div>
    </div>
    <div id="content">Donec at blandit metus, at ullamcorper urna. Morbi ut ante id tortor tincidunt molestie eu et libero. Sed vel commodo mi. Aenean justo sem, varius et leo a, finibus aliquam magna. Aenean nec erat sit amet enim ultricies dignissim. Proin quis nulla
      in eros elementum facilisis at at ante. Nullam id facilisis mauris, pharetra sodales dui. Fusce lacinia odio accumsan lectus efficitur condimentum. Vestibulum porta ut nulla eget elementum. Integer gravida felis vitae pellentesque gravida. Vestibulum
      molestie, lorem quis suscipit rutrum, ex tortor luctus lectus, eu vulputate sapien nibh vel sem. Nunc vel pretium nulla.</div>
    <div class="clear"></div>
    <div id="next">any text</div>
  </div>
</div>

这对我来说效果更好,因为当我使用&#34; exec&#34;解决方案,Spring在启动容器时无法找到我的配置文件。我猜想,可以通过添加一些其他配置参数来解决这个问题,但是这个解决方案可以开箱即用。#34;开箱即用&#34;对我来说。